我有类库项目,大多数类都是内部的,无法从外部访问。我想从这个库中注入那些类依赖项。我不知道我该怎么做?
示例代码:
internal interface IClass1
{
}
internal class Class1 : IClass1
{
}
internal class Class2
{
private readonly IClass1 _class1;
// I want to inject this interface from inside this project.
//Not from outside this project.
// Because this class may not accessible from other class.
internal Class2(IClass1 class1)
{
_class1 = class1;
}
internal Class2() :this(new Class1())
{
// I do it this way.
// But i want to do it using any IOC container
}
}
答案 0 :(得分:0)
我可以提供的建议很少:
答案 1 :(得分:0)
我对此没有多少经验,因为我是使用IoC(DI)的新手。但是我在企业库(统一)中看到了一个具有子容器,容器层次结构的功能。
http://msdn.microsoft.com/en-us/library/ff660895(v=pandp.20).aspx#container_differentmappings
您的库中是否可以使用子容器作为公共容器,因此它可以用于从程序集内部注入对象? (在另一个程序集中具有父IoC容器)。
不确定所有IoC是否都具有此功能(我现在只使用Unity)。