1. 程式人生 > >委托與事件

委托與事件

list 異步多線程 one for 順序 邏輯 外部 each 聲明

委托是一種類型;事件是委托的一個實例。委托的意義:異步多線程、邏輯分離

public delegate void CateAction();//委托

public event CateAction CateActionEvent;//事件

事件只能在聲明他的類內部調用(Invoke);委托可以在外部調用(Invoke);事件加了權限控制,保證事件不能在外部直接賦值和調用。

事件執行前要判斷不為null;

public void CateEvent()
        {
            if (CateActionEvent!=null)
            {
                
//CateActionEvent.Invoke(); //CateActionEvent(); foreach (CateAction item in CateActionEvent.GetInvocationList()) { item.Invoke();//順序調用 //item.BeginInvoke(null, null);//異步調用 } } }

委托與事件