Castle DynamicProxy: Получить объект без прокси

Я использую Castle DynamicProxy, чтобы добавить перехватчик к своим типам. Теперь мне нужно получить базовый тип (НЕ сам прокси).

Я нашел несколько подсказок на SO, которые предлагали использовать класс ProxyUtil следующим образом:

object realInstance = ProxyUtil.GetUnproxiedInstance(proxyInstance);

Похоже, это не работает, так как

bool isProxy = ProxyUtil.IsProxy(realInstance);

всегда верно.

Я также пытался использовать следующий фрагмент кода, который, по сути, и делает ProxyUtil:

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

с теми же результатами, realInstance по-прежнему является прокси.

Что мне здесь не хватает?

6
задан cguedel 18 June 2012 в 12:43
поделиться