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