If an invalid value is passed to a property setter and an ArgumentException (or possibility a class derived from it) is thrown, what value should be assigned to the paramName parameter?
value, since it seemingly is the actual argument?
Wouldn’t it be more clear to pass the name of the property instead?
ArgumentExceptions contain the name of the parameter which is not valid. For a property setter the actual parameter is named value (in both source and generated code). It’s more consistent to use this name.