Unity Dependency Injection将运行时参数值传递给构造函数?

时间:2012-04-17 22:32:13

标签: unity-container

我正在使用Unity容器通过将接口传递给Target类构造函数将类注入到另一个类中。我想将参数传递给注入类的构造函数。谁能告诉我怎么做?

例如,在下面的示例中,我想将2个参数传递给正在注入MyClass的adminmanager的构造函数。

 public class MyClass
{
    IAdminManager AdminManager;

     public MyClass(IAdminManager adminManager)
    {
        AdminManager = adminManager;
    }

}

1 个答案:

答案 0 :(得分:1)

您可以在通过unity解析对象时覆盖构造函数参数:

IAdminManager adminMgr = 
    container.Resolve<IAdminManager>(new ParameterOverride("param", myValue));
MyClass c = 
    container.Resolve<MyClass>(new ParameterOverride("adminManager", adminMgr));