在包含类中,使用属性或字段
本文关键字:属性 字段 包含类 | 更新日期: 2023-09-27 18:32:29
在
包含私有字段或属性的类中编写代码时,使用私有字段或属性是否是一种好的做法?
例如,如果我有这个字段/属性对,那么这个类之外的类必须使用该属性。类中的代码呢?它应该使用私人字段,还是也应该通过属性?
private string _foo;
protected string Foo
{
get { return this._foo; }
}
private void SomeMethod()
{
string dummyVariable = "snuh" + this._foo; // So, this...
string dummyVariable = "snuh" + this.Foo; // ... or this?
}
在这里使用该属性的一个优点是,如果 getter 中有任何逻辑,它仍然会被执行。我很想知道这里是否有最佳实践政策可以遵循。
使用自动实现的属性时,您别无选择 - 您必须使用该属性,因为您无权访问生成的字段。
如果你的属性不简单,并且做了一些额外的工作(验证、触发事件等),你应该调用该属性以集中访问和逻辑。
如果您有任何其他属性(意味着没有逻辑和支持字段的简单属性),我会问为什么它们不是上述属性之一......
有了你给出的例子,它几乎没有区别 - 更重要的是与你如何使用它们保持一致,并真正归结为个人美学和编码风格。