我相应地定义了 3 个接口和 3 个类。类 A 依赖于接口 B,接口 B 依赖于接口 C 和一个具体类。我的示例代码看起来像
public interface IA
{
}
public class A : IA
{
private IB b;
public A(IB b)
{
this.b = b;
}
}
public interface IB
{
}
public class B : IB
{
private IC c;
private string myValue;
public B(IC c, string myValue)
{
this.c = c;
this.myValue = myValue;
}
}
public interface IC
{
}
public class C : IC
{
}
特殊的是 B 类,构造函数需要类型和字符串(具体值)。
using (IUnityContainer container = new UnityContainer())
{
container.RegisterType<IB, B>()
.RegisterType<IA, A>()
.RegisterType<IC, C>();
IA a = container.Resolve<IA>();
}
我应该如何在代码中定义以指示容器将 IC 和字符串值注入 B 类?