我在一个库中有一个外观,它通过一个简单的界面公开一些复杂的功能。我的问题是如何为外观中使用的内部类型进行依赖注入。假设我的 C# 库代码看起来像 -
public class XYZfacade:IFacade
{
[Dependency]
internal IType1 type1
{
get;
set;
}
[Dependency]
internal IType2 type2
{
get;
set;
}
public string SomeFunction()
{
return type1.someString();
}
}
internal class TypeA
{
....
}
internal class TypeB
{
....
}
我的网站代码就像 -
IUnityContainer container = new UnityContainer();
container.RegisterType<IType1, TypeA>();
container.RegisterType<IType2, TypeB>();
container.RegisterType<IFacade, XYZFacade>();
...
...
IFacade facade = container.Resolve<IFacade>();
这里facade.SomeFunction() 抛出异常,因为facade.type1 和facade.type2 为null。任何帮助表示赞赏。