如何在运行时注入容器?

时间:2016-09-28 20:01:57

标签: c# .net dependency-injection inversion-of-control

我使用Unity容器加载我的类型并连接我的接口。

例如:

   // type registrations
   container
        .RegisterType(typeof(Startup))
        .RegisterType<IUserProfileHelper, UserProfileHelper>()
        .RegisterType<IUserSecurityManager, UserSecurityManager>()
        .RegisterType(typeof(IDog), typeof(Dog))
        .RegisterType(typeof(ICat), typeof(Cat))

但是,Cat需要

public Class Cat
{
    public Cat(Meow meow)
    {
    }
}

Meow是DTO的地方:

public class Meow
{
    public int Becibals {get;set;}
    public bool Scratchy {get;set;}
    //etc
}

如果客户端在运行时填充 Meow 类,如何将 Meow 注入我的容器?

如果您认为这是代码味道,请告诉我一个替代模式。

请注意,在运行时,我们超出了注册类型的范围。那么也许我需要将Cat类更改为根本没有构造函数?

0 个答案:

没有答案