Вопрос

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

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

Это было полезно?

Решение

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

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

Другие советы

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

Это приведет к снижению производительности, но, вероятно, даст вам то, что вы ищете ...

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

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top