Estoy usando Castle DynamicProxy para agregar un interceptor a mis tipos. Ahora necesito obtener el tipo de base subyacente (NO el proxy en sí).Castle DynamicProxy: obtener el objeto sin proxy
He encontrado algunas pistas para que los que sugiere el uso de la clase ProxyUtil como esto:
object realInstance = ProxyUtil.GetUnproxiedInstance(proxyInstance);
Esto no parece funcionar tan
bool isProxy = ProxyUtil.IsProxy(realInstance);
siempre es cierto.
También he intentado usar el siguiente fragmento de código, que es esencialmente lo que está haciendo ProxyUtil:
var accessor = proxyInstance as IProxyTargetAccessor;
var realInstance = accessor.DynProxyGetTarget();
con los mismos resultados, realInstance sigue siendo un proxy.
¿Qué me falta aquí?
Estoy usando 'CreateClassProxyWithTarget (instancia, interceptor)' para crear el proxy. El problema es que NHibernate falla porque cree que debe correlacionar el proxy y no el destino. –
cguedel