0

私は単に、VBの1行で非同期的に他の方法でブロックするメソッドを実行しようとしています。

Dim action As New Action(Sub() MessageBox.Show("Hello"))
action.BeginInvoke(Nothing, Nothing)

C#の場合:

(new Action(() => MessageBox.Show("Hello"))).BeginInvoke(null, null);

VBに翻訳

(New Action(Sub() MessageBox.Show("Hello"))).BeginInvoke(nothing, nothing)

コンパイルされません。行を括弧で始めるときの構文エラー。

解決策はありますか?はいの場合、何ですか?いいえの場合、なぜですか?ありがとう!

4

1 に答える 1

3

私はこれを試してみましたが、問題はありませんでした:

Dim a = (New Action(Sub() MessageBox.Show("Hello"))).BeginInvoke(Nothing, Nothing)
于 2013-01-15T16:50:53.583 に答える