Castle DynamicProxy: Uzyskaj nieprocesowany obiekt

Używam Castle DynamicProxy, aby dodać przechwytywacz do moich typów. Teraz muszę uzyskać podstawowy typ bazy (NIE sam serwer proxy).

Znalazłem kilka wskazówek na temat SO, które sugerowały użycie klasy ProxyUtil w następujący sposób:

object realInstance = ProxyUtil.GetUnproxiedInstance(proxyInstance);

Wydaje się, że to nie działa

bool isProxy = ProxyUtil.IsProxy(realInstance);

jest zawsze prawdziwe.

Próbowałem również użyć następującego fragmentu kodu, co zasadniczo robi ProxyUtil:

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

z tymi samymi wynikami, realInstance nadal jest proxy.

Czego mi tu brakuje?

questionAnswers(3)

yourAnswerToTheQuestion