C# delegate and event
真是的,這個東西看了不用,一段時間后就忘了。
delegate相當于函數指針,可以把其他函數加入到delegate實體中,這樣用調用delegate實體來實現對所加入函數的調用。
比如
public delegate deleTest(string name);
可以deleTest test = new deleTest(testFun);把testFun掛到test上。
其中testFun函數的簽名要和deleTest的簽名一致。
然后test(“dear”);就可以調用testFun()了。
?
事件則是特殊簽名的delegate.
public delegate void EventHandler(object sender, System.EventArgs e);
而event呢,則是一個delegate的list,可以讓很多delegate掛在上面,這樣時間發生的時候,就可以調用所有掛在event上面的函數了。
一般會寫一個event調用函數來保護event的觸發。如
protected void OnTestEvent(System.EventArgs e)
{
?if(testevent!=null) testevent(this,e);
}
?
轉載于:https://www.cnblogs.com/climberluoxi/archive/2009/01/07/1371303.html
總結
以上是生活随笔為你收集整理的C# delegate and event的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 中级.NET开发人员
- 下一篇: c# char unsigned_dll