Ich verwende Castle DynamicProxy, um einen Interceptor zu meinen Typen hinzuzufügen. Jetzt muss ich den zugrunde liegenden Basistyp (NICHT den Proxy selbst) bekommen.Castle DynamicProxy: Unexpected Objekt
fand ich ein paar Hinweise auf, so dass die ProxyUtil Klasse wie folgt verwenden vorgeschlagen:
object realInstance = ProxyUtil.GetUnproxiedInstance(proxyInstance);
Dies scheint nicht zu arbeiten, wie
bool isProxy = ProxyUtil.IsProxy(realInstance);
ist immer wahr.
Ich habe auch versucht, den folgenden Codeausschnitt verwendet, die im Wesentlichen ist, was ProxyUtil tut:
var accessor = proxyInstance as IProxyTargetAccessor;
var realInstance = accessor.DynProxyGetTarget();
mit dem gleichen Ergebnis, ist realInstance noch ein Proxy.
Was fehlt mir hier?
Ich benutze 'CreateClassProxyWithTarget (Instanz, Interceptor)', um den Proxy zu erstellen. Das Problem ist, dass NHibernate fehlschlägt, weil es denkt, dass es den Proxy und nicht das Ziel zuordnen sollte. –
cguedel