不能理解这个函数是怎么调用的, 请说明流程, 最好能提供官方的文档地址,
急用, 非常感谢
public void c1()
{
string s = "abc";
int n = Create(d => s);
Console.WriteLine(n.ToString());
}
public int Create(Func<int, string> dataGenerator)
{
int id = 2;
string s2 = dataGenerator(id);
return id;
}
主要看Func这个:http://www.cnblogs.com/akwwl/p/3232679.html,然后传入lambda:d => s
Func
Func是有返回值的泛型委托
Func<int> 表示无参,返回值为int的委托
Func<object,string,int> 表示传入参数为object, string 返回值为int的委托
Func<object,string,int> 表示传入参数为object, string 返回值为int的委托
Func<T1,T2,,T3,int> 表示传入参数为T1,T2,,T3(泛型)返回值为int的委托
Func至少0个参数,至多16个参数,根据返回值泛型返回。必须有返回值,不可void
http://www.cnblogs.com/kingmoon/archive/2011/05/03/2035696.html
Create(d => s) 无论输入什么参数, 都返回s, 第一次遇到这样的方法
该参数类型为委托类型需要定义一个方法
private string MyFun(int p)
{
//todo
return "要返回的处理结果";
}
Func<int,string> f1 = MyFun;
//调用
Create(f1(4));