私有属性有官方命名约定吗?
我用它们来延迟初始化昂贵的字段:
private string _veryExpensive;
private string VeryExpensive => _veryExpensive ??= VeryExpensiveInit();
我觉得既然它是私有的,它应该被命名为_veryExpense,但它与支持者字段名称冲突,其中一个必须重命名。
是否推荐使用PascalCase
VeryExpensive
或者也许 _VeryExpensive
代表私有财产名称?
使用属性范围的字段,我不必定义另一个私有支持字段,但它尚未实现:开放提案
我并不是特别要求惰性初始化,还有带有支持字段的私有属性的其他用例:在 C# 中使用私有属性有什么理由吗?
您已经有了正确的命名约定。
您使用的实际上是一个 Expression bodied 属性。在 C# 中,属性名称应使用 Pascal Case。
公共属性和私有属性的命名约定没有区别,因此您已经使用了正确的约定。