假设我们有一个字段和一个引用它的属性。
public int I =>_i;
private int _i;
很明显,所有外部类都将引用该属性,因为 它是公开的。在这个班级里?可以访问属性和字段,并且它们是相同的。没有添加额外的逻辑,它只是一个吸气剂。
在课堂内引用时要引用什么?在公共财产或私人领域?什么更正确?可以从msdn吃任何规则吗?
假设我们有一个字段和一个引用它的属性。
public int I =>_i;
private int _i;
很明显,所有外部类都将引用该属性,因为 它是公开的。在这个班级里?可以访问属性和字段,并且它们是相同的。没有添加额外的逻辑,它只是一个吸气剂。
在课堂内引用时要引用什么?在公共财产或私人领域?什么更正确?可以从msdn吃任何规则吗?
这是一个风格问题,由您个人决定。想想你想在代码中传达什么样的逻辑。
如果要强调“这是从外部可见的相同值”的逻辑,那么通过属性访问它会更合乎逻辑。如果要强调“这是作为值的来源的字段”的逻辑,则通过字段进行联系。
也许下面的考虑会对你有所帮助。想想如果你的代码看起来像这样会发生什么:
public int I => _i + 1;- 在这些条件下,你会访问一个字段还是一个属性?无论如何,由于您的字段已正确封装,因此如果您在两个选项中选择了错误的一个也没关系:您始终可以在不破坏外部代码的情况下重写它,因为该字段是私有的。(现在,如果您错误地将字段公开,那么可能会出现问题。)如果您有疑问的情况没有明显的偏好,请随意写。