如果我有一个像这样的简单类设置:
class MyClass
{
private string _myName = string.Empty;
public string MyName
{
get
{
return _myName;
}
}
public void DoSomething()
{
// Get the name...
string name = string.Empty;
name = _myName;
// OR
name = MyName;
// ...and do something with it...
}
}
我应该使用哪个,公共(public)属性还是数据成员?
显然,在这个例子中它没有什么不同,因为它们都只是引用同一个变量。但是公共(public)属性在现实世界中的使用情况如何呢?
一般来说,Public Properties 是不是执行的很少,在什么情况下调用它们就可以了?或者人们是否将很多功能放入了不应由内部类引用调用的公共(public)属性中?
我在另一篇文章中看到了关于不要将大量功能放入属性中的内容,因为在调试器中检查它们可能会产生意想不到的结果。是真的吗?
最佳答案
使用属性 - 任何可能封装在 setter 和 getter 中的逻辑都应该应用,即使在类本身中也是如此。如果 getter 和 setter 中没有逻辑,那么使用这些字段本身仍然是不安全的,因为如果您希望在任何时候围绕对这些字段的访问添加逻辑,您将不得不进行更多的重构。
关于c# - 您是否在类本身中使用数据成员或公共(public)属性?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1075988/