委托與事件
阿新 • • 發佈:2017-11-07
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);//異步調用 } } }
委托與事件