【发布时间】:2015-03-29 00:42:33
【问题描述】:
假设我们有两个具有相同构造函数的类可注入依赖:
public class FirstClass
{
public FirstClass(ISomeDependency someDependency)
{ }
}
public class SecondClass
{
public SecondClass(ISomeDependency someDependency)
{ }
}
现在我们注册了ISomeDependency:
builder.Register(x =>
{
string key = GetKeyFromCurrentHttpRequest();
// if "Caller" is "FirstClass" return new Dependency(key);
// else return new Dependency("defaultKey");
}).As<ISomeDependency>();
注意:这是一个简化的用例。实际情况要复杂得多。
1。如何获得尝试解决 ISomeDependency 的“Caller”类型?
2。对于这种情况有没有更好的方法设计?
【问题讨论】:
标签: dependency-injection inversion-of-control autofac ioc-container