没有委托的语法地址

时间:2011-07-08 08:47:45

标签: .net wpf vb.net delegates

我正在使用此委托来调用我的方法:

Private Delegate Sub NoArgDelegate()



Dim dl As New NoArgDelegate(AddressOf MyLoad)
Me.Dispatcher.BeginInvoke(dl, Windows.Threading.DispatcherPriority.ContextIdle)


Private Sub MyLoad()
End Sub

没有我的NoArgDelegate,有没有办法做到这一点?

由于

2 个答案:

答案 0 :(得分:1)

由于您使用的是WPF,因此Action委托应该可用。所以你不需要定义自己的委托。

答案 1 :(得分:0)

您可以使用MethodInvokerAction而不是创建自己的委托:)但是,我认为您真正要问的是在调用时需要明确指定委托类型BeginInvoke

问题是Dispatcher.BeingInvoke需要任何委托,因此编译器不会知道将AddressOf MyLoad转换为什么。

您可以添加自己的扩展方法,但参数为Action - 我相信如果没有在调用代码中明确指定委托,您可以调用它。