Vb.net 一行异步调用方法
我只是尝试在VB的一行中异步执行一个阻塞方法Vb.net 一行异步调用方法,vb.net,asynchronous,lambda,Vb.net,Asynchronous,Lambda,我只是尝试在VB的一行中异步执行一个阻塞方法 Dim操作作为新操作(Sub()MessageBox.Show(“Hello”)) 动作。开始激活(无,无) 在C#中: (新操作(()=>MessageBox.Show(“Hello”)).BeginInvoke(null,null); 翻译成VB (新操作(Sub()MessageBox.Show(“Hello”)).BeginInvoke(无,无) 不编译。以括号开始行时出现语法错误 有什么解决办法吗?如果是,什么?若否,原因为何?谢谢
Dim操作作为新操作(Sub()MessageBox.Show(“Hello”))
动作。开始激活(无,无)
在C#中:
(新操作(()=>MessageBox.Show(“Hello”)).BeginInvoke(null,null);
翻译成VB
(新操作(Sub()MessageBox.Show(“Hello”)).BeginInvoke(无,无)
不编译。以括号开始行时出现语法错误
有什么解决办法吗?如果是,什么?若否,原因为何?谢谢 我只是尝试了一下,没有问题:
Dim a = (New Action(Sub() MessageBox.Show("Hello"))).BeginInvoke(Nothing, Nothing)
我只是尝试了一下,没有任何问题:
Dim a = (New Action(Sub() MessageBox.Show("Hello"))).BeginInvoke(Nothing, Nothing)
谢谢@Ric,这很有效。看起来很简单。我想知道为什么他们不让我们采取匿名行动,然后像在C#中那样开始行动?不客气。我不太清楚为什么。这不是我使用的东西,但我可能会看到自己在未来做类似的事情。只需要一个借口就可以了:)谢谢@Ric,行得通。看起来很简单。我想知道为什么他们不让我们采取匿名行动,然后像在C#中那样开始行动?不客气。我不太清楚为什么。这不是我使用的东西,但我可能会看到自己在未来做类似的事情。只是需要一个借口:)