是否可以使用unity 3.0拦截私有方法?

时间:2013-12-18 10:06:04

标签: unity-container private interception

我想在方法/属性中注入一些方面,无论它是私有的,公共的还是受保护的。

我浏览过很多博客和论坛,但却找不到有用的文章。

任何人都可以指导我吗?

1 个答案:

答案 0 :(得分:0)

Unity如何拦截某些方法存在限制。当然,它是框架提供的标准DI设施之上的增值功能。据我所知,非Unity版本不支持对私有方法和构造函数进行AOP样式拦截。 TransparentProxyInterceptor只会拦截类型的已实现接口或MarshalByRefObject使用的类型。VirtualMethodInterceptor只会拦截虚方法。

我认为Interception in v3中没有添加任何新的拦截器。 另请注意,通常的private / protected甚至内部方法需要对AOP样式拦截进行特殊干预。对于Unity来说,它更不受约束,因为它需要IL重写,这通常由专用的AOP框架处理,例如PostSharp