おはようございます!私は2つの亜種にラムダ式を含む、機能を持っていること、のは、言ってみましょう:C#ラムダ式が "空"かどうかを確認するには?
DoSomething('a', x => { });
DoSomething('b', x => { Console.WriteLine(x); })
遠くプログラムで、私は式の方法は、いくつかのコードを含むか否かに基づいて、いくつかのアクションを実行する必要があります。私の考えでは、これは次のようになっているはずです。
public void DoSomething (char symbol, Action<string> execute)
{
if (execute.Method.IsEmpty)
DoThis(...)
else
DoThat(...)
}
もちろん、私はこれを正確に書くことができません。では、関数にコマンドがあるかどうかをどうやって確認できますか?
代わりにDoSomething( 'a'、null)を使用してください。今は簡単です。 –
渡されている 'Action'は他の関数と同じです。あなたが何をしているのかを知ることはできません。呼び出し側が 'Action'を提供するパスと、呼び出し側が何も提供しない別のパスを持つ必要がある場合は、' Action'を取らないメソッドオーバーロードを提供してください。 –