Я использую 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 по-прежнему является прокси.
Что мне здесь не хватает?