1

是否可以统一解决依赖关系并将“调用实例”的信息传递给服务的构造函数来解决?

假设我有Log一个接口的实现(),ILog其中一个构造函数接受一个参数。

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"
    }

}

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

我想到了这样的事情:

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

0 回答 0