1、申明委託
delegate void mydel(int x);
2、建立委託物件
1)使用new運算子的物件建立表示式
mydel delvar;
delvar = new mydel(myinstobject.mym1); //使用例項方法
dvar = new mydel(sclass.mym1); //使用靜太方法
2) 使用快捷語法
delvar = myinstobject.mym1; //使用例項方法
dvar = sclass.mym1; //使用靜太方法
3)建立變數是時初始化物件
mydel delvar = new mydel(myinstobject.mym1); //使用例項方法
mydel dvar = new mydel(sclass.mym1); //使用靜太方法
3、賦值委託
由於委託是引用型別, 我們可以通過給它賦值來改變包含在委託變數中的引用。
mydel delvar;
delvar = myinstobject.mym1; //使用例項方法
delvar = sclass.mym1; // 此時delvar的值被修改
4、組合委託
mydel dela = myinstobject.mym1;
mydel delb = sclass.mym1;
mydel delc = dela+delb;
5、為委託增加方法
6、為委託移除方法
7、呼叫帶返回值的委託
如果委託有返回值並且在呼叫列表中有乙個以上的方法,會發生下面的情況:
呼叫列表中最後乙個方法返回的值就是委託呼叫返回的值。
呼叫列表中其他方法的返回值都會被忽略。
8、呼叫帶引用引數的委託
如果委託有引用引數,引數值會根據呼叫列表中的乙個或多個方法的返回值而改變。
學習委託筆記
最近一直在想如何解釋委託,比如乙個婚姻律師事務所,他處理婚姻相關的案子,這些案子的共同點都屬於婚姻調解類別,不同點就是各個案子的當事人不一樣,案子處理的方式不一樣.這和委託有什麼關係呢,這個例子裡面,我們可以把婚姻律師事務所當作乙個委託,而針對每個不同當事人處理方式不一樣,我們可以理解為具體實現的不...
C 「委託」學習筆記
using system using system.collections.generic using system.linq using system.text namespace delegatetest console.writeline sh3 jiang 組合委託,此時委託就能夠依次執行多...
C 學習筆記 委託
什麼是委託?委託 delegate 是一種可以把引用儲存為函式的型別。委託的宣告非常類似於函式,但不帶函式體 且要使用 delegate關鍵字。委託的宣告指定了乙個型別和引數列表。在定義了乙個委託後就可以宣告該委託型別的變數。接著把這個變數初始化為與委託有相同返回型別和引數列表的函式引用。之後,就可...