Func<T>——委托只有泛型版本的,接受参数个数可以是若干个,也可以没有,但是必须是有返回值的方法。
Func<TResult>——这个表示没有参数,只有返回值TResult的。
Func<T,TResult>——这个表示有一个参数T,有返回值TReault。
Func<T1,T2,TResult>——这个表示有2个参数(前面两个T1,T2表示参数,最后Tresult表示返回值),有返回值的。
总之Func委托最后一个Treault表示返回值,前面的不管多少个T都表示参数。
static void Main(string[] args) { int sum = 0; //使用系统Func<>委托来接收方法,前2个int表示有2个参数,后面的int表示返回int类型 Func<int, int, int> my = add; //int变量Sum来接收委托 sum = my.Invoke(10,10); Console.WriteLine(sum); Console.ReadKey(); } //定义的方法必须有返回值和2个参数的 static int add(int a,int b) { return a * b; }