委託的基本使用方法

2021-09-12 13:36:56 字數 793 閱讀 3023

委託(delegate)是一種新的物件導向語言特性,執行在.net平台之上,基於委託,開發事件驅動的應用程式非常簡單,使用委託可以大大簡化多執行緒程式設計的難度。

委託,也可以看成是一種資料型別,可以用於定義變數,但他是一種特殊的變數。委託定義的變數能接收的數值只能是乙個方法,可以理解委託就是乙個方法的指標。方法呼叫——委託物件-同時方法一,方法二,方法三。

首先定義乙個委託:

public delegate int calculatordelegate(int a, int b);

然後定義兩個和委託型別和引數個數一樣的方法:

static int add(int a,int b)

static int sub(int a,int b)

//建立委託物件,關聯add方法

calculatordelegate objcal = new calculatordelegate(add);

//通過委託呼叫方法,而不是直接使用方法

int result = objcal(10, 20);

console.writeline(result);

輸出結果為:30

objcal -= add;//斷開當前委託所關聯的方法add

objcal += sub;//重新關聯乙個方法sub

result = objcal(30,10);

輸出結果為:20

委託一般宣告在類的外部,根據委託定義的函式原型編寫需要的方法,委託在使用前必須例項化,例項化的時候需要指明預設的方法,委託呼叫方法,而不是直接呼叫方法,委託物件所關聯的方法可以動態變化。

委託的使用方法

1.委託是什麼呢?委託是一種資料型別。那麼肯定初學者不理解了,這是什麼意思呢?那麼我就給大家解釋一下。我們現在可以回想一下哪些是資料型別,首先變數是資料型別吧,定義乙個person類是乙個資料型別吧,那麼我們就可以這樣子理解,委託也是一種資料型別,不過是一種delegate型別的資料型別。2.委託的...

c 委託與事件使用方法

宣告委託和事件 public delegate void myeventhandler queuea 宣告委託 public event myeventhandler eve 宣告事件 編寫事件響應函式 public void calcu para queuedata 將指定的事件響應函式繫結到要處...

四種委託使用方法

public delegate int methoddelegate int x,int y delegate 定義乙個委託 例項化乙個委託物件 methoddelegate methoddelegate new methoddelegate add console.writeline method...