為了方便開發,.net類庫預定好了幾個泛型委託。
1 func系列委託
func系列委託的定義:
public delegate tresult func();
public delegate tresult func(t arg);
public delegate tresult func(t1 arg1,t2 arg2);
public delegate tresult func(t1 arg1,t2 arg2,t3 arg3);
public delegate tresult func(t1 arg1,t2 arg2,t3 arg3,t4 arg4);
func委託宣告的最後乙個泛型型別引數是委託所接收方法的返回值型別,前面的泛型引數就是委託所接收方法的形參型別。
例子:
static int add(int x, int y)
funcfunc = add;
int sum = func(5, 6);
console.writeline(sum);
2 action系列委託與methodinvoker
func泛型委託所能接收的方法都有返回值,action系列委託是接收返回void的系統預定義委託
public delegate void action();
public delegate void action(t obj);
public delegate void action(t1 arg1,t2 arg2);
public delegate void action(t1 arg1,t2 arg2,t3 arg3);
例子:static void show(string str)
actionaction = show;
action("hello world!");
console.readkey();
methodinvoker委託位於system.windows.forms中,宣告如下:
public delegate void methodinvoker();和無型別引數的action委託等價,用法也一樣。
C 4 0的新特性
先來看看dynamic的乙個例子 dynamic dyn 1 console.writeline dyn.gettype dyn 1.234 console.writeline dyn.gettype dyn ojlovecd console.writeline dyn.gettype 輸出 sys...
C 4 0新特性學習資料彙總
今天了解了一下c 4.0的一些新特性,並在vs2010裡試了幾把,主要的特性包括 1.dynamic binding 2.named and optional arguments 3.features for com interop 4.variance 5.relationship with vi...
C 4 0 新特性之引數
c 4.0中新加了幾種引數,今天來了解一下 1.預設引數 c 4.0 現在對方法,構造器,以及索引器支援使用可預設的引數 當引數的預設值作為宣告的一部分被指定的時候,引數就是可預設的。static void changevalue intx,inty 3 int y 有乙個預設的引數3,因此它是乙個...