2014-04-10 18 views
1

我看到越來越多的代碼像MVVM應用程序(WPF和Prism)中的以下代碼一樣。控制器有下面的代碼片段:爲什麼在MVVM應用程序的控制器構造函數參數中使用Func <>

public class DispenseOptionController : IDispenseOptionController 
{ 
    protected readonly Func<IPharmacyCdmServiceSimpleClient> CdmClient; 

    protected readonly Func<IPatientServiceSimpleClient> PatientClient; 

    public DispenseOptionController(Func<IPharmacyCdmServiceSimpleClient> cdmClient, Func<IPatientServiceSimpleClient> patientClient) 
    { 
     CdmClient = cdmClient; 
     PatientClient = patientClient; 
    }... 

我想知道,Func鍵<>在這裏扮演的角色。看起來這個委託被用作構造函數的參數。有人可以向我解釋爲什麼有人會在這種特殊情況下使用Func <>?並且可以用其他任何東西替換嗎?

回答

0

A Func<>不過是一個方法的封裝,一個或多個參數並返回由TResult參數指定的類型的值。

你可以看到一些用例here

+0

這部分我明白了。我想我想知道爲什麼要使用Func而不是接口並使用IOC來注入參數。爲什麼這樣比另一個更好? – Ray

相關問題