質問

でいただくことを宣言するイベントがパラメータとして (object sender, EventArgs args).なぜですか?

役に立ちましたか?

解決

これにより消費者の能力書く単一のイベントハンドラのための複数のイベントに関わらず、発信者またはイベントです。

編集: なぜいが必要になり異なるパターン?でき受け継ぐEventArgs員登録をすると、掲載企業へ問い量のデータを変更するパターンのみな混乱や足を他のデベロッパーが消費するこの新しいパターンです。

他のヒント

これは、実際にはぽか否かの最善の実践方法。あの学校のこのイベントは、切り離し作業をコードは、このイベントハンドラを取得します送信者は、どのタイプにキャストを送り込めないので、抗パターンです。

では良いパターンを任意のコールバック機構を問わず言語です。知りたい方は、イベントの送信側)およびデータ関連のイベント(EventArgs).

使用単一のパラメータEventArgsに渡されたデータによるイベントできるデータを追加するイベントは、将来バージョンでアプリを作成できるソフトウェアを壊すことなく、既存の消費者です。するだけで追加新しいメンバーが、既存のEventArgs由来のクラスを導出クラスの新しい会員とする。

他の整合性の原則の少なくとも驚きの正当化さEventArgs後のデータです。

て送信者には、全部ではない)場合に便利であるとはいえるでしょうかを知型のイベントです。用以外の型のオブジェクトの送信者の引数にも制限:すうざんの再利用が同じイベント署名を表します。

良いパターンを利用する方法をありがとうを実装するイベントでした。れてのお届けとなります。

ものを上書きするEventArgsおよびデーターを通じて最良の方法です。のEventArgsは基底クラスです。見れば、様々な管理とイタリアンレストランでは、オーバーライドEventArgsする情報についてはイベントです。

も必要がない場合は、引数のイベントを含めない場合、最初の実行の枠組みを追加したいし、休みに、以前のすべての実装についている場合には、書き直します。プラスの場合を作成する枠組みを配布することになりかみんなとおうな枠組みが必要refactor.

クリスアンダーソンという枠組みの中で設計ガイドラインの本:

[T]彼はちょうどパターンです。によるイベント引数をパッケージのクラスで良くバージョン管理意味論。による共通パターン (sender, e) で容易に学習としての署名のためのすべてのイベント。

が主に関与interopるいは偏差値からこのパターンです。

このたMicrosoftの進化のイベントモデルです。またようにもできるもう一つの方法では、"新しい"アクション代表とそのバリエーションがあります。

"オブジェクトの送信者"で再利用する方法のひとつとして複数のオブジェクトがハンドラ方法はないといけないと考えていうと、オブジェクトのイベントは、例えば3テキストボックスがひとつのシングルハンドラは出荷時状態にリセットされますテキストのテキストボックス焼成.

EventArgsの主な利点は可能ですrefactorイベント情報を変更する必要署名のハンドラですべてのプロジェクトと契約しているこのようなイベントです。

思いつかないのは、スマートへの対策です。

あい力のすべてのイベント消費者の利用、特定のイベントパラメータは、例えば、セキュリティイベントを通しbooleanパラメータにtrue、falseす。この場合に利用したい消費者を痛感し、新しいパラメータ、すなわち利用したい消費者に結合するパラメータとします。注意、消費者が互いに分離からのイベント焼成クラスがないからです。

このシナリオに適用され多数の場合は、その場合の値EventArgs大きく削減することができます。

EventArgs クラスだけでは駄目ですからインスタンスを生成せます。このことを示すサブクラスを使用し、その多くはすでに存在します。います。しかし残念できない汎用的です。

ということかしたい権限を委譲にログを出力する一般事前登録の受付を開始しました。なおEventArgsサブクラス.いるのでしょ運動には、既存のが特徴です。できる場合には文字列のオブジェクト引数が、これで機能を利用しています。を探してみて良い参照のEventArgsサブクラスではGoogleやすく乾燥させます。(少なくとも書いてしまった。)

簡単に、ios、androidとmac用にc#を少してきタイプ"EventArgs"だリストをご参照くださいすべてのクラス内のものはご使用/輸入の範囲)を含む文字列"EventArgs".追求することを繰り返しリストのままだ多くの授業のない文字列。まだ ControlEventArgs, でのテキストの特性を使用することがあが、すべてのオーバーヘッドのwindowsます。 ConvertEventArgs こるとされているタイプのデータがまだ必要と密結合するのはどれも本来型安全です。 DataReceivedEventArgs が実装されます。 EntryWrittenEventArgs する必要があEventLogEntryとのバイト配列またはStreamingContextのためのデータです。 ErrorEventArgs は、例外のメッセージだけ呼び出しのログインのイベントの例外ErrorEvents内蔵しています。 FileSystemEventArgs はおそらく、最も近いし、二つの文字列および必要なWatcherChangeTypes列挙型の引数で設定できる0かを知っている場合。- LabelEditEventArgs を使用してintと、文字列だけを必要とするべきかと思います。形名前 RenamedEventArgs 類似FileSystemEventArgsインターンシップ文字列になります。最後に、 ResolveEventArgs システム.を行います。InteropServicesを通過する単一の文字列になります。ありその他の図書館もこだわった最も一般的です。なので、によって実装が使用できます ErrorEventArgs, FileSystemEventArgs または ResolveEventArgs ログイン.

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top