分配给“paramName”的值 C# 属性设置器中 ArgumentException 的参数?

发布于 2024-07-15 04:55:43 字数 173 浏览 8 评论 0原文

如果将无效值传递给属性设置器并引发 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 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(3

好听的两个字的网名 2024-07-22 04:55:44

是的,传递财产名称会更清楚。

Yes, it would be more clear to pass the name of property.

可是我不能没有你 2024-07-22 04:55:43

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.

初见你 2024-07-22 04:55:43

在对 Reflector 进行了大量研究(试图找到具有可写属性的 CLR 对象)之后,我发现第一个(FileStream.Position)使用“value”作为参数名称:

if (value < 0L)
{
    throw new ArgumentOutOfRangeException("value", 
                 Environment.GetResourceString("NeedNonNegNum"));
}

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:

if (value < 0L)
{
    throw new ArgumentOutOfRangeException("value", 
                 Environment.GetResourceString("NeedNonNegNum"));
}
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文