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