如何将“解析器调用实例”注入构造函数参数?

时间:2013-08-15 14:01:28

标签: c# .net dependency-injection unity-container

是否可以使用unity解析依赖关系并将“调用实例”的信息传递给要解析的服务的构造函数?

假设我有Log接口的实现(ILog),其中construtcor接受参数。

class Log : ILog
{        
    public Log(string name) 
    {
        Name = name;
    }

    public string Name { get; private set; }
}

Log将被统一注入两个测试类。

class TestA
{
    private statig Ilog _log;

    public TestA(ILog log)
    {
        _log = log;    // <-- _log.Name = "TestA"
    }

}

class TestB
{
    private statig Ilog _log;

    public TestB(ILog log)
    {
        _log = log;    // <-- _log.Name = "TestB"
    }

}

是否可以在Log - Type的注册中访问TestA和TestB的实例,以将Name传递给构造函数?

我想到了这样的事情:

container.RegisterType<ILog, Log>(new InjectionConstructor( x => x.GetType().Name ));

0 个答案:

没有答案