我有这样的代码:访问者为什么必须比属性限制更多?
public string foo { get; set; }
现在,我解释这是我的对象有一个名为foo
的公共属性,都它的访问是公开的。如果我这样写:
private string foo { get; set; }
我解释说我的对象有一个名为foo
私人财产,都它的访问者的是私有的。我明白将财产本身保密。我不明白的是为什么访问者必须更具限制性?如果我写:
private string foo { public get; public set; }
我解释,我的对象有一个名为foo
私人财产,双方是它的访问是公开的,这是我想要的行为。我希望拥有公共访问者的私人财产。我的意思是,如果我必须写一个Get/Set方法,我会的。但我只是困惑,为什么这是。
怎么样,去年财产是私有?或者整个事情都是私密的,而且getter/setter实际上是私人的,即使你正在对他们的公共访问者进行拍打,或者它是公开的,并且'private'标识符不正确... – Servy 2013-04-24 20:32:26
我认为这只是一个有用的惯例。为了代码一致性,关于访问级别的顺序应该遵循* some *规则(在类定义中,'static'应该出现在'partial'之前的规则应遵循相同的方式),并且它使得意识到规则应该是“属性访问级别必须限制最少”,因为眼睛首先倾向于关键字,这是最安全的选择。 – 2013-04-24 20:36:08
我向SO道歉。这个问题是由于我对非常非常基本的东西的无知:[字段和属性之间的区别](http://stackoverflow.com/questions/295104/what-is-the-difference-between-a-field -and-A-属性功能于c)中。现在我已经看到了这一点,现在更清晰了。 – MyCodeSucks 2013-04-24 20:42:22