Значение параметров метода через Reflection - PullRequest
2 голосов
/ 09 октября 2008

Я пытаюсь записать параметры метода с помощью отражения. Я также прочитал предыдущий вопрос , опубликованный об этой проблеме в StackOverflow, который указал мне на CLR API.

Возможно ли, что кто-то может указать мне правильное направление относительно того, как я получу значения параметров, переданных с использованием API?

Ответы [ 3 ]

3 голосов
/ 09 октября 2008

В принципе, вы не можете использовать "ванильный" код .NET. Параметры являются просто локальными переменными, и их значения не могут быть получены без углубления в API отладчика, упомянутый в другом потоке.

Что вы можете сделать - это использовать PostSharp , чтобы вставить код регистрации. Я бы предложил пойти по этому пути, прежде чем смотреть на API отладки!

1 голос
/ 09 октября 2008

Если вы любите приключения, вы можете посмотреть на класс RealProxy в System.Runtime.Remoting.Messaging. Это позволяет вам реализовать прокси-класс, который может перехватывать вызовы ваших методов. Затем вы можете выйти из параметров и переадресовать вызов на ваш реальный класс.

Для этого будет хит производительности, но он, вероятно, даст вам то, что вы ищете ...

0 голосов
/ 09 октября 2008

@ Шон: Это выглядит многообещающе. Можно ли перехватить и получить такие значения в WCF? Я знаю, что сервисный журнал уже содержит эту информацию, но ее трудно найти, что заставляет меня искать альтернативные способы регистрации методов и их параметров.

...