如何使用委託

2021-09-05 20:59:44 字數 867 閱讀 7841

委託

是一種安全地封裝方法的型別,它與 c 和 c++ 中的函式指標類似。與 c 中的函式指標不同,委託是物件導向的、型別安全的和保險的。委託的型別由委託的名稱定義。下面的示例宣告了乙個名為 del 的委託,該委託可以封裝乙個採用字串

作為引數並返回 void

的方法。

構造委託物件時,通常提供委託將包裝的方法的名稱或使用匿名方法

。例項化委託後,委託將把對它進行的方法呼叫傳遞給方法。呼叫方傳遞給委託的引數被傳遞給方法,來自方法的返回值(如果有)由委託返回給呼叫方。這被稱為呼叫委託。可以將乙個例項化的委託視為被包裝的方法本身來呼叫該委託.

委託型別派生自 .net framework 中的 delegate

類。委託型別是密封

的,不能從delegate中派生委託型別,也不可能從中派生自定義類。由於例項化委託是乙個物件,所以可以將其作為引數進行傳遞,也可以將其賦值給屬性。這樣,方法便可以將乙個委託作為引數來接受,並且以後可以呼叫該委託。

using

system;

namespace

delegatedemo

public

static

void

delegatemethod(

string

message)

public

static

void

delegatemethod2(

string

message)

//將上面建立的委託作為引數傳遞給該方法

public

static

void

methodwithcallback(del callback)}}

委託的使用

using system using system.collections.generic using system.text namespace delegate private static void chinesegreeting string name 注意此方法,它接受乙個greeting...

C 使用委託

文章整理自msdn 委託是一種引用方法的型別。一旦為委託分配了方法,委託將與該方法具有完全相同的行為。委託方法的呼叫可以像其他任何方法一樣,具有引數和返回值,如下面的示例所示 與委託的簽名 由返回型別和引數組成 匹配的任何可訪問類或結構中的任何方法都可以分配給該委託。方法可以是靜態方法,也可以是例項...

C sort 委託使用

泛型的排序有3種方法,分別是 1 list.sort 只能在集合元素實現了icomparable泛型介面時使用 2 list.sort comparison comparison是乙個方法委託,它帶有2個引數t,返回int型別,可以靈活指定如何排序,但是需要編碼時手動指定如何排序 3 list.so...