C#中的Func

這是官方說明:

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(); 

發佈了51 篇原創文章 · 獲贊 30 · 訪問量 10萬+
發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章