Скажем, у меня есть метод:Есть ли способ получить массив аргументов, переданных методу?
public void SomeMethod(String p1, String p2, int p3)
{
#if DEBUG
object[] args = GetArguments();
LogParamaters(args);
#endif
// Do Normal stuff in the method
}
Есть ли способ, чтобы получить массив аргументов, передаваемых в метод, так что они могут быть зарегистрированы?
У меня есть большое количество методов и хочу избежать вручную передачи аргументов по имени к регистратору, так как человеческая ошибка будет неизбежно ползти в
Я предполагаю, что это будет включать в себя отражение в том или иной форме. - которые в порядке, поскольку он будет использоваться только для целей отладки.
Update
Немного больше информации:
Я не могу изменить метод подписи SomeMethod, поскольку она подвергается воздействию как WebMethod и должен повторить унаследованной системы она выдает себя.
Унаследованная система уже регистрирует аргументы, которые передаются. Для начала с новой реализацией будет завершена устаревшая система, поэтому я ищу для регистрации параметров, входящих в версию C#, чтобы я мог проверить правильность параметры передаются в правильном порядке.
Я просто ищу, чтобы регистрировать значения и порядок аргументов, а не их имена.
Какие сведения о параметрах хранятся в журнале? тип, имя, значение? – devnull
это означает, что вы действительно говорите об _arguments_, а не _parameters_. [(См., Например, здесь для объяснения различий.)] (Http://msdn.microsoft.com/en-us/library/9kewt1b3%28VS.80%29.aspx) – stakx
@stax, да, это различие имеет смысл , Я ищу значения аргументов, переданные в метод. –