我刚开始是一名 C# 爱好者,在我看来属性应该始终是公共(public)的。私有(private)属性(property)没有意义。会吗?
这会不会:
private string propertyOne {get; set;}
相当于这个:
public string propertyOne {private get; private set;}
最佳答案
是的,私有(private)属性是有意义的,特别是在您有逻辑要在 getter/setter 中实现的情况下。您可能只希望这些在类中可访问(因此它们是私有(private)的),但您仍然希望将 getter/setter 逻辑封装在一个地方。
您打印的两行代码之间存在差异。反射(reflect)公共(public)属性的人不会看到第一个,但他们会看到第二个,即使他们不能调用 getter/setter。
关于C# 私有(private)属性 - 它们是否被使用/有意义?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/8304230/