Func<T, TResult> delegate用于具有单个参数且返回类型为TResult的委托.
这是一个特殊的代表还是我们可以手动编写代码的东西?
例如,我可以创建一个Func<T, TResult>但接受2个输入参数吗?
小智 9
"Func"实际上是一个家庭中的类System的命名空间,即:
Func<TResult>(0参数),Func<T,TResult>(1参数),Func<T1,T2,TResult>(2参数)...... Func(17)(16参数).
总共有17种不同的"Func"类,支持0到16个参数.能允许他们分享代码("功能")这个名字,即使他们实际上是不同类型的(Func,Func',Func''等),由于泛型.NET如何工作- 数仿制药的决定/歧义其实际类型用过的.
快乐的编码.
至于代理之间的转换,这可能是有用的(在LINQPad中运行,"C#Program"):
delegate int MyDelegate (int y);
void Main()
{
Func<int,int> fun1 = (q) => q * q;
MyDelegate del = new MyDelegate(fun1); // Convert the "Func" delegate to custom...
Func<int,int> fun2 = new Func<int,int>(del); // ...and back
}
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
453 次 |
| 最近记录: |