假设:
public class IFoo { }
public class IBar { }
public class FooImpl : IFoo { }
为什么这样做:
container.Register(
Component.For<IFoo>()
.ImplementedBy<FooImpl>()
.Proxy.AddAdditionalInterfaces(typeof(IBar))
);
这不是:
container.Register(
Component.For<IFoo>()
.UsingFactoryMethod(kernal => new FooImpl())
.Proxy.AddAdditionalInterfaces(typeof(IBar))
);
注册后,我们断言:
container.Resolve<IFoo>().IsAssignableFrom(typeof(IBar)