Значение параметров метода через Reflection
-
06-07-2019 - |
Вопрос
Я пытаюсь записать параметры метода с помощью отражения. Я прочитал предыдущий вопрос , также опубликованный об этой проблеме в StackOverflow, который указал мне на CLR API. Р>
Возможно ли, что кто-то может указать мне правильное направление относительно того, как я получу значения параметров, переданных с помощью API? Р>
Решение
В принципе, вы не можете в "ванили" .NET код. Параметры являются просто локальными переменными, и их значения не могут быть получены без углубления в API отладчика, упомянутый в другом потоке.
Что вы можете сделать - это использовать PostSharp вставить код регистрации. Я бы предложил пойти по этому пути, прежде чем смотреть на API отладки!
Другие советы
Если вы любите приключения, вы можете посмотреть на класс RealProxy в System.Runtime.Remoting.Messaging. Это позволяет вам реализовать прокси-класс, который может перехватывать вызовы ваших методов. Затем вы можете выйти из параметров и переадресовать вызов в ваш реальный класс.
Это приведет к снижению производительности, но, вероятно, даст вам то, что вы ищете ...
@ Шон: Это выглядит многообещающе. Можно ли перехватывать и получать такие значения в WCF? Я знаю, что сервисный журнал уже содержит эту информацию, но ее трудно найти, что заставляет меня искать альтернативные способы регистрации методов и их параметров. Р>