我一直在玩代表,活動和匿名方法。這樣做有一點變得非常清楚。在構造函數中註冊事件?
它不簡化在構造函數中註冊任何事件方法或委託函數的過程嗎?
我的測試顯示它的工作原理,它可以防止你必須在實例化後聲明它們(因爲對象的構造函數爲你做)。
其實這個表現還是不錯的。在構造/實例化對象時使用「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)); };
}
妮可,優秀點。這正是我所期待的。我的直覺告訴我,增加的簡化可能是有問題的(因此後)。在測試中,事情可能很好,但在生產中,墨菲的定律將會生效......概率上,任何可能發生的事情都會給予足夠的時間。鑑於此,如果所述應用程序是多線程的(如服務或Web門戶),則會在某個時間點發生競爭爭用。謝謝。 – Qubits