C# 为什么Unity在解析注册为某个接口实现的类时应用注入行为
我这样注册依赖关系:C# 为什么Unity在解析注册为某个接口实现的类时应用注入行为,c#,.net,dependency-injection,unity-container,interception,C#,.net,Dependency Injection,Unity Container,Interception,我这样注册依赖关系: this.Container.RegisterType<IFoo, Foo>( new ContainerControlledLifetimeManager(), new InterceptionBehavior<PolicyInjectionBehavior>(), new Interceptor<InterfaceInterceptor>()); this.Container.RegisterType( 新建Cont
this.Container.RegisterType<IFoo, Foo>(
new ContainerControlledLifetimeManager(),
new InterceptionBehavior<PolicyInjectionBehavior>(), new Interceptor<InterfaceInterceptor>());
this.Container.RegisterType(
新建ContainerControlled LifetimeManager(),
新的侦听行为(),新的侦听器());
这个很好用。
但是,当我解析Foo
而不是IFoo
时,我得到错误:
ArgumentException-传递的类型必须是接口
看起来Unity仍然试图将InterfaceInterceptor
应用于此依赖项。但是为什么呢