C 語法 委託,架構的血液

2021-08-21 19:53:51 字數 877 閱讀 5198

本篇文章主要介紹委託的應用。

委託是大家最常見的語法了,但會用與精通之間的差別是巨大的。

乙個程式設計師如果不能精通委託,那麼,他永遠無法成為高階程式設計師。

所以,讓我們把委託刻到血液裡吧。

這樣,你才能稱為[developer]。

委託的定義

什麼是委託?

委託實際上是一種型別,是一種引用型別。

微軟用delegate關鍵字來宣告委託,delegate與int,string,double等關鍵字一樣。都是宣告用的。

下面先看下宣告**,這裡宣告了兩個委託。

public delegate void testdelegate(string message);

public delegate int testdelegate(mytype m, long num);

delegate既然是關鍵字,和int,string一樣,那麼,為什麼delegate後又跟了乙個void或者int呢?

如果他們是同等地位的關鍵字,為什麼可以一起使用呢?

很簡單,我們把delegate後面的 【void testdelegate(string message)】理解為乙個變數,是不是就清晰明了了一些。

我們把delegate關鍵字理解為,是用來專門來定義這種複雜的變數的。而這種複雜的變數可以包含乙個返回值和任意數目任意型別的傳入引數。

有沒有感覺,這個複雜的變數特別像乙個函式的定義。

沒錯,官方定義,委託型別的宣告與方法簽名相似。所以,這個複雜變數,的確,書寫的方式就是與函式一樣。

那麼,為什麼這個宣告方式如此怪異呢,是因為,我們用delegate定義的變數,只能用函式賦值。賦值方式如下所示:

>>>>閱讀全文

C 委託 基本語法

c 委託 基本語法 委託的概念 不管是值型別還是引用型別,其變數都可以進行賦值,或者作為方法的引數進行傳遞,而如何引用 方 法或者把方法作為引數進行傳遞呢?這就需要用到委託 delegate.委託也是 種型別,它與類 樣,需要我們自己來定義。種型別的方法 public void greeting s...

C 語法學習委託 delegate

created by sharpdevelop.user administrator date 2008 9 2 time 下午 10 23 委託 delegate 委託宣告定義了一種型別,它用一組特定的引數以及返回型別來封裝方法.對於靜態方法,委託對像封裝要呼叫的方法.對於例項方法,委託對像同時封...

C 裡的委託

委託 比如說乙個公司 場景 你是老闆,手下有兩個員工,小張和小王。你命令小王,如果小張玩遊戲,則小王扣去小張500元錢。這就是現實中的委託。實際上,在寫程式中,程式設計師就是老闆,小張和小王就是兩個物件。小張玩遊戲是乙個方法,小張還有乙個遊戲事件,他玩遊戲激發這個事件。而小王就是事件處理物件,他負責...