我使用这个委托来调用我的方法:
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的情况下做到这一点?
谢谢
发布于 2011-07-08 16:50:21
因为您使用的是WPF,所以Action委托应该是可用的。所以你不需要定义你自己的委托。
发布于 2011-07-08 16:50:58
您可以使用MethodInvoker或Action而不是创建自己的委托:)然而,我假设您真正询问的是在调用BeginInvoke时是否需要显式指定委托类型。
问题是Dispatcher.BeingInvoke接受任何委托,因此编译器不知道要将AddressOf MyLoad转换成什么。
你可以添加你自己的扩展方法,它有一个参数Action -我相信这会让你不用在调用代码中显式地指定委托就可以调用它。
https://stackoverflow.com/questions/6622071
复制相似问题