是否可以使用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 ));