Sto usando Castle DynamicProxy per aggiungere un interceptor ai miei tipi. Ora ho bisogno di ottenere il tipo di base sottostante (NON il proxy stesso).Castle DynamicProxy: Ottieni oggetto senza proxy
ho trovato alcuni suggerimenti, in modo che suggerisce di utilizzare la classe ProxyUtil come questo:
object realInstance = ProxyUtil.GetUnproxiedInstance(proxyInstance);
Ciò non sembra funzionare come
bool isProxy = ProxyUtil.IsProxy(realInstance);
è sempre vero.
Ho anche provato utilizzando il seguente frammento di codice, che è essenzialmente quello ProxyUtil sta facendo:
var accessor = proxyInstance as IProxyTargetAccessor;
var realInstance = accessor.DynProxyGetTarget();
con gli stessi risultati, realInstance è ancora un proxy.
Cosa mi manca qui?
Sto usando 'CreateClassProxyWithTarget (istanza, interceptor)' per creare il proxy. Il problema è che NHibernate non funziona perché pensa che debba mappare il proxy e non il target. –
cguedel