委託
是一種安全地封裝方法的型別,它與 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...