- PR -

C# イベントを呼び出すには

投稿者投稿内容
架空兎
ベテラン
会議室デビュー日: 2003/08/18
投稿数: 78
お住まい・勤務地: さいたま氏
投稿日時: 2004-01-15 14:20
引用:

Dr’アライさんの書き込み (2004-01-15 12:20) より:

ある既存のイベントの処理を、メソッドからもイベントと同様の処理を行いたい
と思い、単純にステップ数も増えなく、わかり易いと思いイベントを呼び出すと
いう方法をとったのですが。
このような場合イベントを呼び出すという方法は、良くないのでしょうか?


#以下すべて私の見解なのですが。。。^^;

特に禁止されているわけではないのですが、
イベントハンドラは通常、それを登録したオブジェクトのイベントに対して
何らかの処理を行うことが目的のメソッドなので、
それ以外の目的でそのメソッドを実行するのはあまりいいとは言えないと思います。

また、メンテナンス面でも、例えばイベントとして実行された場合と
直接呼ばれた場合とで処理を分けることが必要となった場合、
メソッドの引数を増やすわけにもいかず、
また、引数に判断材料を設定したり、フィールドを使ったりするのも
かなり無理があると思います。

だとしたら、その処理を行うメソッドを用意しておけば引数を増やすのも
戻り値を返すのも自由で、さらにメソッドに分かりやすい名前をつけてあげれば
それを見ただけで簡単にその処理の概要が理解しやすくなると思います。

#余談
#イベントハンドラの名前は通常、どのオブジェクトの何のイベントで
#実行されるのか理解しやすい名前をつける。
#VS.NET だと"オブジェクト名_イベント名"。
Dr’アライ
会議室デビュー日: 2003/08/07
投稿数: 19
投稿日時: 2004-01-15 14:41
一郎さん、架空兎さんご指導ありがとうございます。
私には、抽象化という考えが非常に浅かったようで、お二方のスレッドを
見て非常に感銘いたしました。
そもそも、textBox1_TextChanged()を呼び出さなくてはならない作りを見直し
たいと思います。
この考えは今後の作業に非常に役に立つと思います。ありがとうございました。<m(__)m>

スキルアップ/キャリアアップ(JOB@IT)