依赖注入与静态创建方法

时间:2017-10-16 13:40:29

标签: c# dependency-injection unity-container

我有一个带有私有构造函数的类和一个返回类实例的静态Create方法,我希望Unity在请求类的实例时调用此方法。

示例:

public interface IService
{ 
    void MethodA();
}

public class Service: IService
{
    private Service(){}

    public static Service Create() 
    {
        return new Service();
    }
}

1 个答案:

答案 0 :(得分:1)

实际上非常简单,注册如下

container.RegisterType<IService,Service>(new InjectionFactory(c => Service.Create()));