【发布时间】:2012-06-20 10:14:14
【问题描述】:
我正在使用 Castle DynamicProxy 为我的类型添加一个拦截器。 现在我需要获取底层的基本类型(而不是代理本身)。
我在 SO 上发现了一些提示,建议像这样使用 ProxyUtil 类:
object realInstance = ProxyUtil.GetUnproxiedInstance(proxyInstance);
这似乎不起作用
bool isProxy = ProxyUtil.IsProxy(realInstance);
总是正确的。
我也尝试使用下面的代码 sn-p,本质上就是 ProxyUtil 正在做的事情:
var accessor = proxyInstance as IProxyTargetAccessor;
var realInstance = accessor.DynProxyGetTarget();
结果相同,realInstance 仍然是一个代理。
我在这里错过了什么?
【问题讨论】: