C#では
(new Action(() => MessageBox.Show("Hello"))).BeginInvoke(null, null);
VBでは、翻訳されたコードはコンパイルされません
(New Action(Sub() MessageBox.Show("Hello"))).BeginInvoke(nothing, nothing)
しかし、VBでは、BeginInvokeの結果を暗黙の変数に設定でき、a
実行されます(別の投稿でこの提案をしてくれた@Ricに感謝します)
Dim a = (New Action(Sub() MessageBox.Show("Hello"))).BeginInvoke(Nothing, Nothing)
しかし、ここで、C#ではなく、この場合にVBで左側に何かを設定する必要がある理由を知りたいと思います。