首先,我知道这个问题之前已经被问过好几次了,最后,这主要是个人喜好问题,但是阅读有关该主题的所有线程,有些事情我并不清楚。
基本上,大多数人至少同意的一点是公共成员应该是 PascalCased,而私人成员应该是 lowerCamelCased。
通常引起争论的问题是是否在私有成员前面加上下划线或其他任何东西。前缀违反了几个 StyleCop 规则(但显然可以关闭)
不加前缀的理由是你应该使用它。改为前缀。
我的问题是我不明白它是如何产生影响的?我的意思是,这并不是说你不能在课堂内的公共成员上使用它。
让我们想象一个类 Customer,看起来像这样:
class Customer
{
private int age;
public int Age
{
get { return this.age; }
set { this.age = value; }
}
}
(显然,在这种简单的情况下,我可以使用自动属性,但这只是一个示例)。
如果我在这个类中添加了第二个属性,没有什么会阻止我使用 this.Age(公共属性)而不是 this.age(私有字段)来引用它。有时,如果在 getter 级别应用了某些验证或格式化,它甚至可能是可取的。
另外,如果我的类的一些其他属性需要修改客户的年龄,那么直接使用属性而不是支持字段是有意义的,因为 setter 也可以实现一些业务规则验证,对吗?
换句话说,我真的不明白 this 关键字如何避免私有支持成员和公共属性之间的混淆,因为它可以在两者上使用并且 IntelliSense 显示两者?
谢谢。