Есть ли способ получить массив аргументов, передаваемых методу?
Скажем, у меня есть метод:
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 #, чтобы убедиться, что нужные параметры передаются в в правильном порядке.
Я просто хочу записать значения аргументов и порядок, а не их имена.