c 委託 的個人詳解,定義與演示。

2021-06-09 04:36:28 字數 1531 閱讀 7886

關鍵字: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 即委託別人辦事 相當於 中介 委託某個方法來實現具體的功能。委託是一種引用型別,是方法的抽象,宣告時與方法相似,但不能稱之為方法。它儲存的是一系列具有相同引數和返回型別的方法位址。呼叫委託時,委託包含的所有方法都將被執行。委託在使用時遵循三步走的原則,即定義宣告委託 例項化委...