Castle DynamicProxy: Obtener objeto sin proxy
Estoy usando Castle DynamicProxy para agregar un interceptor a mis tipos. Ahora necesito obtener el tipo base subyacente (NO el proxy en sí).
Encontré algunos consejos sobre SO que sugirieron usar la clase ProxyUtil de la siguiente manera:
object realInstance = ProxyUtil.GetUnproxiedInstance(proxyInstance);
Esto no parece funcionar como
bool isProxy = ProxyUtil.IsProxy(realInstance);
siempre es verdad
También intenté usar el siguiente fragmento de código, que es esencialmente lo que hace ProxyUtil:
var accessor = proxyInstance as IProxyTargetAccessor;
var realInstance = accessor.DynProxyGetTarget();
Con los mismos resultados, realInstance sigue siendo un proxy.
¿Que me estoy perdiendo aqui?