c# - 如何在 vb.net 中使用 DispatcherOperationCallback

标签 c# wpf vb.net xbap

我在使用 DispatcherOperationCallback 将 c# 转换为 vb.net 时遇到问题。

我尝试根据help to convert c# anonymous to vb.net 进行转换

我正在使用 VS2010。

我有这样的 C# 代码:

    public void Callback(Contract contract)
    {
        Dispatcher.BeginInvoke(DispatcherPriority.Normal,
              (DispatcherOperationCallback)delegate(object arg)
              {
                  Contract obj = (Contract)arg;
                  txtRequest.Text = HandleArgument(obj);                      
                  return null;
              }, contract);
    }

在我尝试像这样更改为 vb.net 之后

Public Sub Callback(ByVal contract As Contract) Implements IServiceCallback.Callback

    Dispatcher.BeginInvoke(New DispatcherOperationCallback(Sub(arg As Object)
                                                           txtRequest.Text = HandleArgument(DirectCast(arg, Contract))
                                                           End Sub), DispatcherPriority.Normal, contract)

End Sub

但是没有用。 vs2010 显示“嵌套子没有与委托(delegate)兼容的签名”Delegate Function DispatcherOperationCallback(arg As Object) As Object“

感谢您的帮助。

最佳答案

只需阅读错误信息:

nested sub does not have a signature that is compatible with delegate 
  "Delegate Function DispatcherOperationCallback(arg As Object) As Object

因此,您应该相应地更改代码。

Public Sub Callback(ByVal contract As Contract) Implements IServiceCallback.Callback
    Dispatcher.BeginInvoke(
      New DispatcherOperationCallback(
          Function(arg As Object)
              txtRequest.Text = HandleArgument(DirectCast(arg, Contract))
              Return Nothing ' // you need to check what should be returned here '
          End Function), 
         DispatcherPriority.Normal, 
         contract)
End Sub

关于c# - 如何在 vb.net 中使用 DispatcherOperationCallback,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5448405/

相关文章:

c# - azure 函数中的 HTTP 补丁

VB.net:你如何获得开始年份的日期?

c# - 将python模块转换成DLL文件

c# - 如何将图像更新到不同的线程?

.net - Windows XP 中的 WPF DataGrid 显示问题

vb.net - VB .NET错误处理,将错误传递给调用方

vb.net - 如何在 ffmpeg 中循环获取多个视频的图像

c# 如何连接一个 var 与另一个 var 以指向应用程序 SettingsName?

c# - CreateProcessAsUser : Service gets "5: Access Denied" trying to access network share

c# - 使用 C# 通过 VNet 创建 Azure 容器实例