泛型委託和多播委託

2021-07-06 08:08:05 字數 1420 閱讀 4125

1.泛型委託,返回引數傳t,引數傳乙個委託型別的引數tresult

class

program

;intmax

=getmax

<

int>(nums, compare1);

console

.writeline(max);           

string names

= ;string

max1

=getmax

<

string

>(names, (string

s1, string

s2) =>           );          

console

.writeline(max1);         

console

.readkey();       }    

public

static t getmax

<

t>(t nums, delcompare

del)                  }    

return

max;       }     

public

static

intcompare1(int

n1, int

n2)          }

2.總共3種委託形式delegate、action、func已經定義好的泛型委託,窗體傳值就使用委託,action無返回值的委託hmgnv-wcyxv-x7g9w-ycx63-b98r2

3、多播委託

乙個委託指向多個方法,執行委託型別的物件時,它指向的方法一起執行

public delegate void deltest();

deltest method=test1;

method+=test2;

method+=test3;

method();//一起執行3個方法

public void test1()

public void test2()

public void test3()

委託和委託的多播

using system namespace 委託 定義時委託型別的返回值和引數與要引用的方法的返回值和引數一致,二者在外形上一樣,只是委託用delegate修飾 委託的宣告 1.委託宣告 例如 public delegate int mydelegate string s 2.委託例項化 例如 m...

委託二(多播委託)

委託最令人興奮的的特性之一是它支援多播委託 multicasting 簡單地說,多播委託是指允許建立方法的呼叫列表或者鍊錶的能力。當多播委託被呼叫時,列表中的方法均自動執行。這種鍊錶很容易建立 初始化乙個誒託,然後使用 或 運算子為鍊錶新增方法。在移除乙個方法時,使用 或 如果委託有返回值,則將列表...

委託及多播委託

c 中的委託類似於c c 中的指標,委託就是概括了方法的簽名和返回值型別 委託可以理解為定義的乙個新的類。所以在可以定義類的任何地方都可以定義委託,也可以在委託的定義上加訪問修飾符 public private 等 1 定義乙個委託 類似於方法的定義 該委託表示的方法有兩個long型別引數,返回值型...