是否可以使用动态代理拦截构造函数调用?

问题描述:

是否可以用动态代理拦截构造函数调用?
我在只包含构造函数作为测试的类上注册了一个代理,但它没有被拦截。
我猜测目前不可能,但也许有一些我需要做的特殊事情?是否可以使用动态代理拦截构造函数调用?

不,这是不可能的。出于简单的原因,代理的创建由ProxyGenerator管理,这排除了使用代理的new

+0

有没有办法解决它? – 2011-05-01 23:23:02

+0

没有。这是动态代理的基本设计决定之一 - 不要改变现有的IL,也不要改变IL,你不能拦截构造函数调用。你可能想看看LinFu DynamicProxy(版本2或更高版本),它与Castle DynamicProxy有着根本的区别,我认为它可以让你做这些事情。 – 2011-05-02 00:08:08