C#委託和事件的使用示例
阿新 • • 發佈:2020-07-15
一、委託
使用委託時要先例項化,和類一樣,使用new關鍵字產生委託的新例項,然後將一個或者多個與委託簽名匹配的方法與委託例項關聯。隨後呼叫委託時,就會呼叫所有與委託例項關聯的方法。
與委託關聯可以是任何類或者結構中的方法,可以是靜態方法,只要是可以訪問的方法都可以。
1.建立一個委託型別使用關鍵字delegate(委託)
輸出如下:
2.一個委託例項,可關聯多個方法:
其中D4 = TestMethod1;用“=”而不能“+=”,是因為之前D4未例項化,可以使用下面的程式碼:
MyDelegate D4 = new MyDelegate(TestMethod1); D4 += TestMethod2; D4 += TestMethod3;
但是如果使用以下方式,會出現編譯錯誤: “MyDelegate”方法沒有采用“0”個引數的過載:
MyDelegate D4 = new MyDelegate(); D4 += TestMethod1;
詳情見:http://www.tracefact.net/tech/009.html
3.移除一個委託例項中的方法 使用“-=”: