ボタンがあるクラス(フォーム/ウィンドウ)があるとします。私のクラスでは、ボタンをメソッドに登録して、自分のイベントをスローします:サブスクリプトされたイベントまたはこれを送信元とするイベントをトリガーしますか?
public delegate void MyEventHandler(object source, MyEventArgs e);
public event MyEventHandler MyEvent;
protected virtual void OnMyEvent(MyEventArgs e)
{
if (this.MyEvent != null) this.MyEvent(this, e);
}
private void Button_Click(object sender, EventArgs e)
{
this.OnMyEvent(???, ???);
}
イベントをトリガーする正しい方法は何ですか。 とthis
を使用する必要がありますか?
this.OnMyEvent(this, new EventArgs());
送信者とイベントの引数を自分のイベントのサブスクリプションに送信する必要がありますか?
this.OnMyEvent(sender, e);
正しい方法は何ですか。私たちは1つの方法だけに固執すべきですか? Microsoftはどうしていますか?コードガイドライン
ありがとうございます。
は、あなたのイベントハンドラに必要なものによって異なります。ボタンからeventargsが必要ですか?それは新しいeventargsが必要ですか?または、おそらくそれは全くイベントの必要はありませんし、それらを署名から削除することはできますか? – Natrium
refer- https://msdn.microsoft.com/en-us/library/edzehd2t%28v=1.2%29.aspx?f=255&MSPPError=-2147217396 – NoviceProgrammer
@NoviceProgrammerしたがって、MSは「this」を送信者として使用します。 – modiX