イベントについて学習しようとしていますが、EventArgsから派生したEventArgs情報クラスを作成するタスクがあります。これが何を意味するのか、どうすればよいのかわかりません。
質問する
188 次
3 に答える
2
イベント引数は、発生したイベントに関する追加情報(たとえば、変更された値やアイテムのIDなど)を提供するために作成されます。イベントハンドラの署名には、とが含まれsender
ますEventArgs
。
はかなり空なのでEventArgs
、通常は独自のクラスを実装します。
public event EventHandler<FooEventArgs> Foo; // produces handler(object sender, FooEventArgs e)
public sealed class FooEventArgs : EventArgs
{
public FooEventArgs(int bar)
{
this.Bar = bar;
}
public int Bar { get; private set; }
}
これは、他の場所で作成するのと同じように、通常のサブクラスです。これ以上の情報を渡す必要がない場合は、EventArgs.Empty
(静的フィールド)を使用します。
于 2012-08-09T08:22:44.697 に答える
1
これを試して
public class EventArgsInfo : EventArgs
{
public string MyCustomProperty { get;set; }
}
于 2012-08-09T08:19:18.470 に答える
0
EventArgs
イベントに引数が与えられた型を表します(そのため、名前が付けられています)。
標準のEventArgsタイプには、最小限の情報が含まれています(おそらく何も含まれていません)。ベストプラクティスは、(作成するカスタムイベントごとに)独自の継承を作成し、特定のイベントのニーズに合わせて引数を拡張することです。
詳細については、EventArgsクラスのMSDNドキュメントを確認してください。カスタムEventArgs
クラスを作成して使用する方法の良い例が含まれています。
于 2012-08-09T08:20:52.987 に答える