這是官方說明:
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();