При проксировании объекта и перехвате метода с использованием динамического прокси замка, возможно ли получить возвращаемое значение целевого метода? Я пробовал использовать следующие методы,
object result = invocation.GetConcreteMethod().Invoke(instance, null);
object result = invocation.GetConcreteMethodInvocationTarget().Invoke(instance, null);
Это вызывает бесконечный цикл. Я хочу получить возвращаемое значение проксируемого исходного целевого метода перед вызовом Invocation.Proceed ().
EDIT - Fyi, я заставил его работать с помощью Activator.CreateInstance, но мне интересно, есть ли более чистый способ достичь эквивалента:
object instance = Activator.CreateInstance(invocation.TargetType);
invocation.MethodInvocationTarget.Invoke(instance, invocation.Arguments);
Проблема в том, что это просто новый непроксиро- ванный экземпляр исходного объекта, тогда как мне нужен сам исходный непроксиро- ванный экземпляр.