c 委託宣告例項化與呼叫

2021-06-22 01:53:19 字數 1458 閱讀 4989

系統訪問資料或呼叫方法有兩種操作方式:一種是通過名稱訪問或呼叫,另一種是通過所在的記憶體位址來訪問呼叫。為了系統的安全與穩定

,net framework

的clr

庫不允許程式通過指標來直接操作記憶體中資料或方法,而是通過託管機制

來訪問記憶體中資料或呼叫記憶體中的方法。委託就是

c#提供的一種以託管機制呼叫方法的特殊資料型別

,其作用於房屋租憑中介機構類似。

下面我們主要圍繞以下三點

//1.定義委託

//2.委託的例項化

//3.委託的呼叫,實際上是將委託指向已經實現的某個方法

//注意:呼叫的方法必須返回型別和定義的委託返回型別一致

委託是乙個類,它定義了方法的型別,使得可以將方法當做引數進行傳遞。

一:

委託的定義

在c#

中使用關鍵字

delegate

宣告委託。宣告委託的一般形式是:

//委託的定義

// [訪問修飾符]  delegate  資料型別  委託名(引數列表....)

在使用委託前是一定先要定義的

例如:delegate void d(int x)

二:例項化( 與方法繫結)

為了與命名方法一起使用,委託必須用具有可接受簽名的方法進行例項化。

例項化的方法可用下列方法各項之一

例如:

delegate void d(int x)  

delegate void d(int x);

class c

public void m2(int i)

}class test

}

.委託呼叫

建立委託物件後,通常將委託物件傳遞給將呼叫該委託的其他**。通過委託物件的名稱(後面跟著要傳遞給委託的引數,括在括號內)呼叫委託物件。下面是委託呼叫的示例:

public delegate int mathop(int i,int j);//定義委託 

class delegatetest

public static int mutiply(int num1, int num2)

static void main(string args)

}

}

認識:

以前對委託的認識只是知道委託是方法的呼叫。通過這次的專案例項了解到委託也是需要定義,例項化與呼叫的。還是先前學藝不精佔呀。委託的使用通常與匿名函式或lambda表示式匹配使用,下篇介紹匿名函式。

委託的宣告與例項化使用

系統訪問資料或呼叫方法有兩種操作方式 一種是通過名稱訪問或呼叫,另一種是通過所在的記憶體位址來訪問呼叫。為了系統的安全與穩定,net framework的clr庫不允許程式通過指標來直接操作記憶體中資料或方法,而是通過託管機制 來訪問記憶體中資料或呼叫記憶體中的方法。委託就是c 提供的一種以託管機制...

c 委託例項化和呼叫語句

系統訪問資料或呼叫方法有兩種操作方式 一種是通過名稱訪問或呼叫,還有一種是通過所在的記憶體位址來訪問呼叫。為了系統的安全與穩定 net framework 的clr 庫不同意程式通過指標來直接操作記憶體中資料或方法。而是通過託管機制 來訪問記憶體中資料或呼叫記憶體中的方法。託付就是 c 提供的一種以...

委託的建立 例項化和呼叫

通過使用 delegate 類,委託例項可以封裝屬於可呼叫實體的方法。對於例項方法,委託由乙個包含類的例項和該例項上的方法組成。對於靜態方法,可呼叫實體由乙個類和該類上的靜態方法組成。因此,委託可用於呼叫任何物件的函式,而且委託是物件導向的 型別安全的。定義和使用委託有三個步驟 c 可通過使用委託來...