微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

c# – 为什么在setter之前定义getter(编码约定)

我很欣赏这个问题有点傻,所以如果这不是主题或非建设性的话,我会事先道歉.

为什么在C#中使用getter之前用getter定义属性是标准约定?对于具有这两者的属性,您几乎总是在getter之前使用setter,因此它处于有效状态.因此,我首先定义吸气剂似乎有些落后.

此外,setter通常会有一些验证逻辑,getter不需要.在吸气剂之前使用这个逻辑以使其更清楚地表明属性应该如何表现是不是更整洁.例如:

public decimal Price
{
    get { return _price; }
    set
    {
        if(value < 0m)
        {
            throw new ArgumentOutOfRangeException();
        }

        _price = value;
        OnPropertyChanged("Price");
    }
}

setter中的代码比getter更有趣,如果它不优先并且首先定义?

*我知道这些东西没有规则,但实际上每个例子都有,属性在setter之前定义了getter.

解决方法

因为给予比接受更好.

更严重的是,我猜测是因为无论是谁编写了代码片段(或者是自动生成VS中的属性代码),都会下意识地选择此顺序.

然后,因为我们其余的人只是这个开拓牧羊人的羊,我们毫无疑问地追随.

直到你.

你质疑我们曾经伟大的牧羊人,无政府状态只会随之而来.提交您的代码并为山丘奔跑.

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 [email protected] 举报,一经查实,本站将立刻删除。

相关推荐