C 中的委託機制 一)

2021-09-29 17:17:48 字數 1145 閱讀 7479

c#中的委託機制那麼什麼是委託呢?其實呢生活中有很多委託的例子。比如你看中了二環的一套別墅對吧,你想要買(不是我,我連租都租不起),那就要去找中介,中介呢就會去找賣這個房子的人,和他進行溝通,那麼這裡的中介就相當於乙個委託人的角色,也可以說是一種**。在c#中,程式想要呼叫方法進行引數的傳遞時會有相當大的限制,比如只能傳遞常數啊、變數或者陣列,但是呢,方法是無法變成一種引數進行傳遞。那麼委託就相當於是方法的「中間人」,將方法變為一種可以傳遞的引數。

一、定義委託

語法如下:

訪問修飾詞 delegate 資料型別 委託名稱(引數列表);

public delegate void mydelegate(int32 num);
二、定義相關的方法

public void iseven(int num)//找出陣列中的偶數

"); }

writeline(); //換行

}

三、定義委託後,宣告乙個委託的物件

findnumbers searchnum = new findnumbers();

mydelegate mydelegate=new mydelegate(searchnum.iseven);

四、呼叫委託方法

mydelegate(figures);//figures為指定型別的一維陣列
從上面的示範中可以看出,乙個委託的物件只能**一項業務,所以如果有多個方法要進行委託的話就要用到多重委託了。

findnumbers searchnum = new findnumbers();

mydelegate mydelegate=new mydelegate(searchnum.iseven);

mydelegate += searchnum.isodd;

mydelegate += searchnum.isdivide3;

mydelegate(figures); //多重委託三個方法,傳入引數

C 中的委託機制 二)

c 中的委託機制 二 那麼其實在c 中還有三個不同的委託類,分別是 action和func以及predicate。action action 是一種無返回值的泛型委託。它可以是無引數的,也可以是含參的,最高支援16個引數,基本的格式為 訪問許可權控制符 static void 函式名 actiona...

C 實現的委託機制(一)

c 實現的委託機制 一 1.引言 下面的委託實現使用的mygui裡面的委託實現,mygui是一款強大的gui庫,想理解更多的mygui資訊,猛擊這裡 我們的目標是要實現乙個跟.net幾乎完全一樣的委託,使用簡單,支援多播,可以新增刪除委託。同時支援c 的普通函式 模板函式 類成員函式,類的靜態成員函...

中的委託機制

例項化委託 using system 定義委託 委託關鍵字 返回值型別 委託名稱 委託方法引數 delegate int numberchanger int n namespace 委託 被委託方法 addnum public static int addnum int p 被委託方法 multnu...