我想創建一個列表來存儲一些事件並通過列表將事件處理程序附加到事件。將事件處理程序附加到存儲在列表中的事件
所以我做一個List<dele>
添加事件anEvent
進去,然後我試圖將事件處理程序附加到該事件,但最後anEvent
仍然有連接到它的節目輸出真沒有事件處理程序。但存儲在list[0]
的代表確實獲得了lambda表達式。
public delegate void dele();
class Program
{
static event dele anEvent;
static void Main(string[] args)
{
List<dele> list=new List<dele>();
list.Add(anEvent);
list[0]+=()=>{Console.WriteLine("BEEP!");};
Console.WriteLine(anEvent==null);
}
}
是不是委託引用類型?看來eventhandler
和list[0]
是指不同的對象。我想知道爲什麼。
如果我想anEvent
獲取事件處理程序時,我將處理程序附加到list[0]
,我該怎麼辦?
謝謝!
_The方案產出'True'_不確定??? – TaW
輸出是假的我測試了它 –
代表是值類型。 – Enigmativity