學習總結 委託和事件

2021-06-22 00:22:19 字數 458 閱讀 6466

委託其實是一種型別,是一種定義方法簽名的型別,它支援以new的方式來例項化。委託是使用關鍵字delegate進行定義的,它其實是對方法的包裝和聚集。

1.任何與委託簽名匹配的方法都可以分配給委託,實際上是讓這個委託型別繼承了system.multicastdelegate類,system.muticastdelegate類又繼承了delegate類。同時還生成了三個方法,其中begininvoke()和endinvoke()兩個方法是供非同步呼叫,invoke()方法是供同步呼叫。

2.delegate類中有兩個非常重要的字段:internal object _target; internal intptr _methodptr;

3.multicastdelegate類有兩個私有字段:private intptr _invocationcount; private object _invocationlist;

4.協變性與逆變性

委託和事件學習筆記

委託本身可以使用賦值 name 委託 englishgreeting chinesegreeting 觀察者模式 public class greetingmanager 在客戶端,呼叫看上去更簡潔一些 static void main string args 輸出為 morning,jimmy z...

委託和事件的學習

參考 寫的內容 1 委託 它是乙個類,它定義了方法的型別,實現將方法作為引數傳遞給另乙個方法來呼叫,這種將方法動態的賦給引數的方式,可以避免了程式中過多的使用switch或if else 定義委託,它定義了可以代表方法的型別 public delegate void greetingdelegate...

委託和事件學習筆記

class program class director 處理玩遊戲者 public void playgamehandler object sender,system.eventargs e class employee set 初始化員工類 public employee 開始玩遊戲了 publ...