關鍵字:delegate
定義:delegate void stopmanchinerydelegate ();//類似方法的定義。
方法步驟:
進行委託(將三個類中的關閉方法委託給乙個類,讓委託類寫乙個方法,讓委託類方法呼叫三個關閉方法):
(1)首先定義三個類,類中寫方法。再定義乙個控制類,用於寫委託。
例:class paintingmachine
}class foldingmachine
}class weldingmanchine
}再定義乙個控制類,用於寫委託。
class controller
(2)在控制類中,宣告其他三個類型別的字段(就是三個類的物件例項名)。
例:private foldingmachine folder;
private weldingmanchine welder;
private paintingmachine painter;
在控制類中,寫入類型別欄位的寫入屬性,以便於在主程式中將例項化物件賦值給控制類中的類型別的字段,使得類型別字段
擁有呼叫其類中方法許可權。
例:public foldingmachine folder
}public weldingmanchine welder
}public paintingmachine painter
}(3)在主程式中,使用new關鍵字,對其他三個類進行例項化。
例:foldingmachine folder = new foldingmachine();
weldingmanchine welder = new weldingmanchine();
paintingmachine painter = new paintingmachine();
(4)在控制類中寫委託:
delegate void stopmanchinerydelegat();//定義委託:stopmanchinerydelegat
stopmanchinerydelegat stopmanchinery;//將委託具體化為:stopmanchinery
(5)將委託寫進委託類的乙個方法中;
public void setstopmanchinery()
在控制類中寫乙個shutup方法,呼叫setstopmanchinery()方法和委託;
例:public void shutdown()
(6)在主程式中例項化物件,用物件對其控制類中的類型別字段賦值,並且呼叫控制類中的shutdown()方法。通過呼叫
shutdown()方法,就可以明白委託的作用。
controller controller = new controller();
controller.folder = folder;
controller.welder = welder;
controller.painter = painter;
controller.shutdown();
總結:委託是一種資料型別,也可以說是是函式指標(方法與引用的結合。)
C 事件與委託詳解
delegate delegate是c 中的一種型別,它實際上是乙個能夠持有對某個方法的引用的類。與其它的類不同,delegate類能夠擁有乙個簽名 signature 並且它只能持有與它的簽名相匹配的方法的引用。它所實現的功能與c c 中的函式指標十分相似。它允許你傳遞乙個類a的方法m給另乙個類b...
C 委託與事件詳解 三
protected void btnsearch click object sender,imageclickeventargs e 那他們到底表示什麼呢?在回答上面的問題之前,我們先搞懂 net framework的編碼規範 一 委託型別的名稱都應該以eventhandler結束。二 委託的原型定...
委託 C 委託 delegate 的介紹與使用
委託 delegate 即委託別人辦事 相當於 中介 委託某個方法來實現具體的功能。委託是一種引用型別,是方法的抽象,宣告時與方法相似,但不能稱之為方法。它儲存的是一系列具有相同引數和返回型別的方法位址。呼叫委託時,委託包含的所有方法都將被執行。委託在使用時遵循三步走的原則,即定義宣告委託 例項化委...