21

EventArgsイベントデータを渡すときに同じ仕事をするカスタムクラスを使用する代わりに、クラスから継承するクラスを使用する必要があるのはなぜですか?

4

3 に答える 3

28

から継承する必要はありませんEventArgs、クラスを使用する人々がジェネリック*Handler(object sender, EventArgs e)宣言を使用および処理できるようになります。から継承しない場合はEventArgs、明示的に型指定されたものを使用する必要があります

*Handler(object sender, YairsFakeEventArgs e)

カスタム デリゲートを使用する場合も同じですが、より明確に異なります。

于 2011-07-25T13:30:49.773 に答える
18

EventArgsevent-args クラスは、オブジェクトを受け入れる他の関数と互換性があるためです。

于 2011-07-25T13:29:39.240 に答える
6

これは、.NET でこれを行うための標準的で最も慣用的な方法だからです。ASP.NET および WinForms のイベント モデル全体は、これらの規則に依存しています。別の開発者があなたのコードを読むと、これが標準であるため、より簡単に理解できるようになります。これはもちろん、好きなクラスを使用できると言われています。

于 2011-07-25T13:29:07.710 に答える