我將它們用作不同對象之間的「通信」,作爲發佈者和訂閱者模式。代表和事件
是一些例子我看到,有時候事件被聲明爲靜態的,有時不是:
public delegate void LogProgress(string str)
public static event LogProgress LogProgressEvent;
if (LogProgressEvent != null)
LogProgressEvent(tempString);
爲什麼,當我需要使用靜態的?
所以我總是應該在創建無靜態事件,正確的含義是什麼? 但如果我這樣做,這將需要我創建一個類的實例,調用事件如下: DataClass data = new DataClass(); data.LogProgressEvent + = new data.LogProgress(UpdateTextBox); – markiz 2009-08-23 13:56:49
只要小心。如果你只從幾個關鍵的地方(基礎設施等)訂閱它,你應該沒問題;但是避免訂閱你的數據實體('Person','Order'等) – 2009-08-23 18:08:48
但是如果我仍然在「數據實體」對象中使用,那麼在這個數據實體對象消失之後,垃圾回收器不會清理垃圾嗎? – markiz 2009-08-23 21:34:39