这是官方说明:
https://msdn.microsoft.com/zh-cn/library/bb534960.aspx
以前为了能调用一个方法,必须定义一个相应的delegate,后来便有了通用委托Func<>,方便多了。
没有参数: Func<TResult>
有参数:Func<T,TResult>
T代表传入参数类型,TResult代表返回参数类型,当然可以有多个参数T1、T2、T3…
写法如下:
OutputTarget output = new OutputTarget(); Func<bool> methodCall = output.SendToFile;
最重要的是,你还可以分配到的 lambda 表达式 Func<T, TResult> 委托!这样写方法直接简便了许多。
Func<bool> methodCall = () => output.SendToFile();