Ответ 1
ArgumentExceptions содержат имя параметра, который недействителен. Для свойства setter фактический параметр имеет именованное значение (как в исходном, так и в сгенерированном коде). Это более последовательно использовать это имя.
Если недопустимое значение передается устройству свойств и выбрано ArgumentException
(или возможность его производного от класса), какое значение должно быть присвоено параметру paramName
?
value
, поскольку он, по-видимому, является фактическим аргументом?
Не было бы более понятно передать имя свойства вместо?
ArgumentExceptions содержат имя параметра, который недействителен. Для свойства setter фактический параметр имеет именованное значение (как в исходном, так и в сгенерированном коде). Это более последовательно использовать это имя.
После обширного поиска с Reflector (пытаясь найти объект CLR с записываемым свойством), первый, который я нашел (FileStream.Position), используя "значение" в качестве имени аргумента:
if (value < 0L)
{
throw new ArgumentOutOfRangeException("value",
Environment.GetResourceString("NeedNonNegNum"));
}
Да, было бы более понятно передать имя свойства.