分配给“paramName”的值 C# 属性设置器中 ArgumentException 的参数?
如果将无效值传递给属性设置器并引发 ArgumentException
(或者可能是从它派生的类),则应为 paramName
参数分配什么值?
value
,因为它看起来是实际的参数?
改为传递属性名称不是更清楚吗?
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?
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
是的,传递财产名称会更清楚。
Yes, it would be more clear to pass the name of property.
ArgumentExceptions 包含无效参数的名称。 对于属性设置器,实际参数被命名为值(在源代码和生成代码中)。 使用这个名字更加一致。
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.
在对 Reflector 进行了大量研究(试图找到具有可写属性的 CLR 对象)之后,我发现第一个(FileStream.Position)使用“value”作为参数名称:
After extensive poking around with Reflector (trying to find a CLR object with a writable Property), the first one I found (FileStream.Position) using "value" as the argument name: