C 中的委託

2021-03-31 08:56:29 字數 1114 閱讀 3215

c#中的委託

引言:c#中的委託著實讓我迷惑(我是位初學者),在不同的c#書籍中,還譯為**、委派等,經反覆查閱資料和自己動手編寫**,才稍稍理出點頭緒。 c#

中的委託類似於c或c++中的函式指標,但兩者有本質區別:c或c++不是型別安全的,但c#中的委託是物件導向的,而且是型別安全的。

從技術角度來講,委託是乙個引用型別,用來封裝帶有特定簽名和返回型別的方法。

1、宣告委託

c#使用關鍵字delegate來宣告委託型別:

[訪問修飾符]

delegate

結果型別 委託識別符號([形參列表]);

委託型別可以在宣告類的任何地方宣告。

2、例項化委託

委託使用new運算子來例項化。

新建立的委託例項所引用的物件為以下之一:

⑴委託建立表示式中引用的靜態方法

⑵委託建立表示式中引用的目標物件(此物件不能為null)和例項方法

⑶另乙個委託

例如:

delegate

void mydelegate(int x);

class myclass

public

void method2(int i)

}

class testclass

}

3、使用委託

通過委託物件的名稱及放入括號的要傳遞給委託的引數來呼叫委託物件。呼叫委託時,呼叫表示式的主表示式必須是委託型別的值

看乙個例子:

namespace

delegatetest

public

static

int minus(int i,int j)

}

",i);

mydelegatetest d1=new mydelegatetest(calculate.minus);

int j=d1(100,99);

system.console.writeline("

這是執行minus的結果:",j);

system.console.readline();

} }

}

C 中的委託

委託是個比較讓人費解的東西,最近把這個東西翻來覆去看了幾遍了,有了些想法,希望能對同樣卡在這裡的同志一些啟發。在這裡主要提供一種理解思路,畢竟像基本語法 規範之類的,查參考書是最好的了。首先來看看乙個宣告乙個物件的過程 class someclass 定義乙個類 someclass sample 宣...

C 中的委託

1.委託概述 委託是c 中新加入的乙個型別,可以把它想作乙個和class類似的一種型別,和使用類相似,使用乙個委託時,需要兩個步驟,首先你要定義乙個委託,就像是定義乙個類一樣 然後,你可以建立乙個或多個該委託的例項。定義乙個委託的語法是這樣的 public protected private del...

C 中的委託

委託類似於 c 中的函式指標 但是,委託是型別安全和可靠的。委託是一種儲存函式引用的型別。委託的宣告非常類似於函式,但不帶函式體,且要使用delegate關鍵字。委託的宣告指定了乙個返回型別和乙個引數列表 定義了委託之後就可以宣告該委託型別的變數。接著把這個變數初始化為與委託具有相同返回型別和引數列...