からカスタムのEventHandlerに基本パラメータHow to: Publish Events that Conform to .NET Framework GuidelinesなぜEventArg
から、あなたが定義し クラス内のイベントは、任意の有効な デリゲート型に基づくことができますが、値を返す でも代表者、それは一般的に推奨 です次の例の に示すように、 のイベントを.NET Frameworkパターンに基づいて作成することは、 EventHandlerを使用して行います。
なぜですか?方法:
public delegate void GenericEventHandler<TType, TArgs>(TType sender, TArgs args);
public event GenericEventHandler<SomeSender, SomeArg> SomeEvent;
+1。あなたはそれに値する、私はここでほとんどの人ほど精巧ではない。 –
そこには価値があります。しかし、あなたのパラメータのタイプを知ることは、私にとってもっと価値があるようです。 – pomeroy
私はあなたの異議を理解するかどうか分からない。あなたは通常、 'EventArgs'をそのまま使用することはありません。そのタイプから派生し、この特定のイベントが必要とするすべての情報を追加し、それを使用します。イベントハンドラは、特定の要件に応じて、その引数の "型を知る"か、無視します(そして単に 'EventArgs'を受け入れます)。 「sender」引数の型が常に「オブジェクト」であるのが好きではないのですか? –