为什么要使用Func<>在MVVM应用程序中的控制器构造函数参数中

时间:2014-04-10 03:06:33

标签: wpf mvvm prism

我看到,越来越多的代码就像MVVM应用程序(WPF和Prism)中的代码一样。控制器具有以下代码片段:

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&lt;&gt;的作用在这里玩看来这个委托被用作构造函数的参数。有人可以向我解释为什么有人会使用Func&lt;&gt;在这种特殊情况下?并且可以Func&lt;&gt;被其他任何东西取代?

1 个答案:

答案 0 :(得分:0)

Func<>只是一个或多个参数的方法的封装,并返回由TResult参数指定的类型的值。

您可以看到一些用例here