我的问题可能是一个老话题的一部分——“属性与字段”。
我有这样的情况,变量对于外部类是只读的,但需要在类内修改。我可以通过两种方式处理它:
首先:
private Type m_Field;
public Type MyProperty { get { return m_Field; } }
第二个:
public Type MyProperty { get; private set; }
阅读了几篇文章(主要介绍了使用公共(public)属性而不是公共(public)字段的好处)后,我不知道第二种方法是否比第一种方法有一些优势,但编写的代码更少。我感兴趣的是在项目中使用哪个更好的实践(以及为什么),或者这只是个人选择。
也许这个问题不属于SO所以我提前道歉。
最佳答案
第二个版本产生的困惑较少,但灵 active 较差。我建议您使用第二个版本,直到您遇到需要使用第一个版本的情况,然后再进行重构 - 无论如何更改都将在类中进行,所以不要太担心这一点!
通常,少写代码是个好主意。您编写的代码越少,产生的错误就越少:)
关于c# - 哪个更好地拥有带有私有(private) setter 的自动实现的属性或私有(private)字段和属性只是 getter?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11259050/