イベントを処理するために私が知っているすべての方法を次に示します。他の構文は、範囲をいじっているだけです。
// one
Button.Click += delegate { /* do something */ };
// two
Button.Click += delegate(object s, EventArgs e) { /* do something */ };
// three
RoutedEventHandler handler = (s, e) => { /* do something */ };
Button.Click += handler;
Button.Click -= handler;
// four
Button.Click += (s, e) => { /* do something */ };
数値は理解していますone
/two
結果のロジックで使用できる明示的な引数を除いて、基本的に同じです。three
また、数によってハンドラーを追加および削除できることも理解しています。これは非常に重要な場合があります。そして、数字four
は数字の2の単純化されたバージョンであることを理解しています.
私の質問はより実用的です。これら 2 つの構文の間に、どちらか一方を使用する理由がありますか、それとも基本的に同じことを行う 2 つの方法ですか? そして、どうやって知っていますか?
// two
Button.Click += delegate(object s, EventArgs e) { /* do something */ };
// four
Button.Click += (s, e) => { /* do something */ };