Есть ли способ получить массив аргументов, передаваемых методу?

Скажем, у меня есть метод:

 public void SomeMethod(String p1, String p2, int p3)
 {

 #if DEBUG
    object[] args = GetArguments();
    LogParamaters(args);
 #endif

     // Do Normal stuff in the method
 }

Есть ли способ получить массив аргументов, переданных в метод, чтобы они могли быть зарегистрированы?

У меня есть большое количество методов, и я хочу избежать ручной передачи аргументов по имени в регистратор, так как неизбежно возникнет человеческая ошибка.

Я предполагаю, что это будет включать отражение в некоторой форме - это хорошо, поскольку это будет использоваться только для целей отладки.

Обновить

Еще немного информации:

Я не могу изменить сигнатуру метода SomeMethod, так как он отображается как WebMethod и должен копировать устаревшую систему, которую он олицетворяет.

Устаревшая система уже регистрирует переданные аргументы. Для начала новая реализация обернет унаследованную систему, поэтому я собираюсь зарегистрировать параметры, поступающие в версию C #, чтобы убедиться, что нужные параметры передаются в в правильном порядке.

Я просто хочу записать значения аргументов и порядок, а не их имена.

Ответы на вопрос(9)

Ваш ответ на вопрос