我想在方法/属性中注入一些方面,无论它是私有的,公共的还是受保护的。
我浏览过很多博客和论坛,但却找不到有用的文章。
任何人都可以指导我吗?
答案 0 :(得分:0)
Unity如何拦截某些方法存在限制。当然,它是框架提供的标准DI设施之上的增值功能。据我所知,非Unity版本不支持对私有方法和构造函数进行AOP样式拦截。 TransparentProxyInterceptor只会拦截类型的已实现接口或MarshalByRefObject使用的类型。VirtualMethodInterceptor只会拦截虚方法。
我认为Interception in v3中没有添加任何新的拦截器。 另请注意,通常的private / protected甚至内部方法需要对AOP样式拦截进行特殊干预。对于Unity来说,它更不受约束,因为它需要IL重写,这通常由专用的AOP框架处理,例如PostSharp。