私はVB.NETに、私が持っているC#ソリューションに基づいて何かを書こうとしています。 C#ソリューションで、私はとの関数を呼び出す:VB.NET関数をActionパラメーターに渡す
somefunction(s => Console.WriteLine(s)).Wait();
と呼ばれる方法がある:
VB.NETでpublic static Task somefuntion(Action<string> callback);
私は私が間違っているの何
somefunction(Function(s) Console.WriteLine(s)).Wait()
Public Shared somefunction(ByRef callback As Action(Of string)) As Task
任意のアイデアを持っています? somefunction(Sub(s) Console.WriteLine(s)).Wait()
ビットがオフトピックが、vb.netラムダ式は確かに醜いです...私は、C#に離れてから移動ので嬉しいです。 –
'ByRef'はおそらく' somefunction'が呼び出し側に独自のコールバックを返さない限り、あなたが望むものではありません(ここでは起こっていないようです)。 ByValはおそらくあなたが望むものです。 'ByRef'と' ByVal'の区別は、オブジェクトのコピーが渡されるかどうかではなく、引数として渡されたホスト変数が別のオブジェクトに再指されるかどうかを参照する参照型とやや混乱します。 – Craig