私は、デリゲート、イベント、および匿名メソッドを使用して遊んでいます。そうすることで、ある点が非常に明確になりました。コンストラクタ内にイベントを登録していますか?
イベントメソッドを登録するプロセスやコンストラクタ内の関数を委譲するプロセスを合理化しないでしょうか?
私のテストによれば、それは動作し、インスタンス化後に(オブジェクトのコンストラクタがそれを行うので)宣言する必要がなくなります。
実際、パフォーマンスはかなり良いです。オブジェクトを構築/インスタンス化する際に現在のオブジェクトを参照するために "this"キーワードを使用することには、何らかの欠点がありますか?
これは、すべてのイベントがインスタンス化されるので、私には非常に意味があるようです。
問題が発生する可能性のある領域はありますか?
例:
//Constructor
public SayHello()
{
_name = "Unnamed";
_isUpdated = false;
// Register event handler via lambda (ananymous method shorthand)
this.NameChanged += (object sender, EventArgs e) => { Console.WriteLine(e.message)); };
}
ニコール、優れた点。これはまさに私が探していたものです。私の欠点は、追加された簡素化が問題になる可能性がある(つまり、投稿)ということです。テストではうまくいくかもしれませんが、生産上、マーフィーの法律が効力を発揮します。確率的に起こることは十分な時間が与えられます。これを考えると、問題のアプリがマルチスレッド化されている場合(サービスやウェブポータルなど)、ある時点で競合が発生する可能性があります。ありがとうございました。 – Qubits