2

.NETイベントが見つかりませんでした-オブジェクト送信者とEventArgseとは何ですか?非常に役立つ投稿。

これは主に、onClickシナリオの場合にパラメーター(オブジェクト送信者、EventArgs e)がどのように使用されるかを示しています。これは明らかな使用法であることがわかります。

私の質問は:

onClick関数を無視する

つまり、Page_Load、Init、およびその他のページイベントの場合

これらの(オブジェクト送信者、EventArgs e)パラメーターの用途は何ですか?

例がもっと役立つでしょう:-)

4

2 に答える 2

2

それはとても簡単です:

object senderイベントを発行したエンティティです-page_loadの場合、ページがイベントを発行しているため、ページ自体であると確信しています(ページではthis == sendertrueになるはずです)。 EventArgs e退屈です (基本クラスです) が、他のイベントは、イベントについて何かを伝えるより興味深いクラスをもたらします。たとえば、onMouseDown-Event は、画面上のマウス位置に関するデータをもたらします。他のイベントが他のデータをもたらす可能性がありますが、ほとんどの場合、必要なすべてのデータを取得するには、イベント自体と送信者で十分です。

于 2013-01-23T10:36:03.003 に答える
2

などの標準の(類似の)署名を使用する(sender, eventargs)ことは有益です。

  • 多くのシナリオに対応できる柔軟性と汎用性を備えています。初心者でも使える標準テンプレート
  • 類似の署名はパターンへの親しみを増し、初心者の学習時間を短縮するのに役立ちます
  • イベント デリゲート レベルとハンドラー レベルの両方で再利用を可能にします。

さて、いくつかの標準を受け入れ/同意したら、それらを固守する必要があります (ただし、場合によっては、関連する莫大なコストがなければ意味がないかもしれません)。.NET Fx 開発者は、この標準のイベント テンプレートを決定し、どこにでも表示されるようにしました。

例を見てみましょうPage_Load- このイベントは実際にはControl レベルで宣言されています。そのため、一部のコードでは、同じイベント ハンドラーを使用して複数のコントロールのロード イベントを処理し、sender引数を使用して特定のものを適用することを選択する可能性があります。

于 2013-01-23T10:46:00.717 に答える