2016-05-21 4 views
0

私はC#を初めて使いました.ASPでカスタムコントロールを作成していたとき、私の考えで作成された質問:なぜオーバーライド機能にsenderオブジェクトがないのですか?例えばオーバーライド機能に送信者オブジェクトがないのはなぜですか?

protected override void OnRowCreated(GridViewRowEventArgs e) 

が、我々はコード内でこのイベントを使用する場合、「送信者」

答えて

5

という名前型オブジェクトの変数があるでで始まるこれらの方法はする必要はありませんを送信したを受信します。送信者の一部であるため、thisです。送信者(イベント全体を宣言するクラスのインスタンス)です。

特定のイベントにサブスクライブするユーザーがいる場合、別のクラスである可能性があり、そのイベントを発生させたユーザーを知る必要があります。

+0

ありがとうございました –

+0

@ArashGhasemiRadいいえ、あなたは歓迎です –

0

protected override void On*(*EventArgs e)のようなシグネチャを持つメソッドでは、派生型が親クラスで定義されたイベントを発生させることができます。これらは、独自のインスタンスに対してイベントを発生させるメソッドなので、送信者オブジェクトを取得するには、thisを使用する必要があります。

+0

ありがとうございますが、私は1つしか選択できません "正解" –

関連する問題