【发布时间】:2014-03-26 13:34:58
【问题描述】:
我有以下情况:
public interface IFoo { }
public interface IFoo3 { }
public class Foo4 : IFoo3 { }
public class Foo1 : IFoo { }
public class Foo2 : IFoo
{
Foo2 (IFoo object1, IFoo3 object2)
}
在客户端:
IUnityContainer container = new UnityContainer();
container.RegisterType<IFoo, Foo1>("Foo1");
container.RegisterType<IFoo3, Foo4>();
container.RegisterType<IFoo, Foo2>("Foo2");
IFoo3 obj = container.Resolve<IFoo3>(); //Resolve 1
IFoo obj2 = container.Resolve<IFoo>(); //Resolve 2
resolve 2(见注释)给出了一个找不到构造函数的错误。
我基本上希望它解析为 Foo2 类。我什至尝试过使用参数覆盖,但也没有用。
请帮帮我。
【问题讨论】:
-
你的
Foo2是一个装饰器。 -
非常感谢 steven....beefycode 博客帮了大忙。
标签: c# unity-container unity-interception