Значение, которое нужно присвоить параметру paramName для ArgumentException в установщике свойств C #? - PullRequest
10 голосов
/ 25 марта 2009

Если недопустимое значение передается в установщик свойств и выдается ArgumentException (или возможно, класс, производный от него), какое значение следует присвоить параметру paramName?

value, так как это, по-видимому, фактический аргумент?

Разве не было бы более понятным передать вместо этого название свойства?

Ответы [ 3 ]

9 голосов
/ 25 марта 2009

ArgumentExceptions содержит имя параметра, который недопустим. Для установщика свойств фактический параметр называется именем (как в исходном, так и в сгенерированном коде). Более логично использовать это имя.

8 голосов
/ 25 марта 2009

После продолжительного возни с Reflector (попытка найти объект CLR с доступным для записи свойством), первый найденный мной (FileStream.Position), использующий значение в качестве имени аргумента:

if (value < 0L)
{
    throw new ArgumentOutOfRangeException("value", 
                 Environment.GetResourceString("NeedNonNegNum"));
}
2 голосов
/ 25 марта 2009

Да, было бы более понятно передать название собственности.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...