Castle DynamicProxy: Holen Sie sich nicht-Proxy-Objekt

Ich verwende Castle DynamicProxy, um meinen Typen einen Interceptor hinzuzufügen. Jetzt muss ich den zugrunde liegenden Basistyp ermitteln (NICHT den Proxy selbst).

Ich habe ein paar Hinweise zu SO gefunden, die vorgeschlagen haben, die ProxyUtil-Klasse wie folgt zu verwenden:

object realInstance = ProxyUtil.GetUnproxiedInstance(proxyInstance);

Das scheint so nicht zu funktionieren

bool isProxy = ProxyUtil.IsProxy(realInstance);

ist immer wahr.

Ich habe auch versucht, den folgenden Codeausschnitt zu verwenden, der im Wesentlichen von ProxyUtil ausgeführt wird:

var accessor = proxyInstance as IProxyTargetAccessor;
var realInstance = accessor.DynProxyGetTarget();

Mit den gleichen Ergebnissen ist realInstance immer noch ein Proxy.

Was vermisse ich hier?

Antworten auf die Frage(3)

Ihre Antwort auf die Frage