C 委託的用法

2022-08-30 06:24:10 字數 2434 閱讀 6318

委託是乙個類,它定義了方法的型別,使得可以將方法當作另乙個方法的引數來進行傳遞。事件是一種特殊的委託。

1.委託的宣告

delegate 類

delegate是一種引用型別,我們在處理他的時候要當作類來看待而不是方法,說白了委託就是對方法或者方法列表的引用,呼叫乙個委託例項就好像是呼叫c++中的指標一    樣,他封裝了對制定方法的引用,或者說委託起到的是橋梁的作用,例項後的委託物件會將給定的引數傳遞給他所**的方法,並去執行方法。

delegate至少0個引數,至多32個引數,可以無返回值,也可以指定返回值型別。

例:public delegate int methodtdelegate(int x, int y);表示有兩個引數,並返回int型。

public delegate void mydelegate(string str);  

public static void hellowchinese(string strchinese)

mydelegate d = new mydelegate(hellowchinese);

d("mr wang");

匿名方法

c#中幾個常用的委託(action,func,predicate)

action

action是無返回值的泛型委託。

action 表示無參,無返回值的委託

action表示有傳入引數int,string無返回值的委託

action表示有傳入引數int,string,bool無返回值的委託

action表示有傳入4個int型引數,無返回值的委託

action至少0個引數,至多16個引數,無返回值。

public delegate void action(

t1 arg1,

t2 arg2,

t3 arg3,

t4 arg4

)

action是對委託的使用的簡化:

public static void hellowchinese(string strchinese)  

actionaction = hellowchinese;

action("spring.");

func

func是有返回值的泛型委託

func表示無參,返回值為int的委託

func表示傳入引數為object, string 返回值為int的委託

func表示傳入引數為object, string 返回值為int的委託

func表示傳入引數為t1,t2,,t3(泛型)返回值為int的委託

func至少0個引數,至多16個引數,根據返回值泛型返回。必須有返回值,不可void

public

delegate tresult func(

t1 arg1,

t2 arg2,

t3 arg3

)

func也是對委託的使用的簡化:

public static string helloenglish(string strenglish)  

funcf = helloenglish;

console.writeline(f("srping ji"));

console.readline();

predicate

predicate 是返回bool型的泛型委託

predicate表示傳入引數為int 返回bool的委託

predicate有且只有乙個引數,返回值固定為bool

public

delegate

bool predicate(

t obj

)

2.總結

委託類似於 c++ 函式指標,但它們是型別安全的。

委託允許將方法作為引數進行傳遞。

委託可用於定義**方法。

委託可以鏈結在一起;例如,可以對乙個事件呼叫多個方法。

方法不必與委託簽名完全匹配。

delegate至少0個引數,至多32個引數,可以無返回值,也可以指定返回值型別

func可以接受0個至16個傳入引數,必須具有返回值

action可以接受0個至16個傳入引數,無返回值

predicate只能接受乙個傳入引數,返回值為bool型別

使用func和action,action而不使用delegate其實都是為了簡化**,使用更少的**達到相同的效果,不需要我們顯示的宣告乙個委託。

func的最後乙個引數始終是返回型別,而action是沒有返回型別的,而action是沒有返回型別和引數輸入的。

predicate使用的比較少。

c 的委託的用法

1.委託概述 委託是c 中新加入的乙個型別,可以把它想作乙個和class類似的一種型別,和使用類相似,使用乙個委託時,需要兩個步驟,首先你要定義乙個委託,就像是定義乙個類一樣 然後,你可以建立乙個或多個該委託的例項。定義乙個委託的語法是這樣的 public protected private del...

c 委託的常見用法

此篇文章是我乙個小白對委託的理解和總結,請www.cppcns.com高手多多評判指教。委託就是一種後期繫結機制,說的直白點就是在呼叫的時候才去傳遞業務邏輯的一種演算法。委託的建立語法 public delegate int comparison t left,t right 官方給出的定義泛型委託...

C 中的委託 delegate 用法簡介

委託 delegate是只有乙個函式的特殊的類 委託物件的引用相當函式指標 delegate 宣告定義一種引用型別,該型別可用於將方法用特定的簽名封裝。委託例項封裝靜態方法或例項方法。委託大致類似於 c 中的函式指標 但是,委託是型別安全和可靠的。委託使您得以將函式作為引數傳遞。委託的型別安全要求作...