【问题标题】:How should I name backing properties in C#? [closed]我应该如何在 C# 中命名支持属性? [关闭]
【发布时间】:2020-11-20 06:56:18
【问题描述】:

我有这个代码:

public partial class ABC
{
    string _time;

    public string Time {
        get => _time;
        set => SetProperty(ref _time, value);
    }
}

我的问题是我添加下划线的 _time 的命名是否正确。

我也应该将其标记为私有吗?

【问题讨论】:

  • 简短回答,随你喜欢。 FWIW,对我来说看起来不错,但我个人会明确地将其设为私有(尽管在这两种情况下都是我个人的设计选择)。
  • 第一个问题可能是固执己见。这不是 VS 中私有字段的默认设置(如果你让它为你生成支持字段,而没有使用 _ 配置的 .editorconfig)。不过,这是我的首选风格。
  • 您可以随意命名它们。我个人遵循 Microsoft 制定的命名约定,更具体地说是 the ones they actually use。此外,不,您不需要将该字段标记为私有,因为默认访问修饰符是最受限制的访问。但是同样,即使是 MS 自己也将所有私有字段都标记为这样,世界上没有任何 linter 会感到不安
  • 另外,here 是 MS 官方设计指南的便捷链接。并非所有内容都被指定,我个人发现它根本没有很好的文档记录。但它确实指出了我看到的一些常见“错误”,比如使用缩写词或首字母缩略词
  • “我也应该将其标记为私有吗?” - private 是类型成员的默认访问权限,因此这是隐含的 - 这是主观的,但有些人更喜欢始终指定访问权限,以便您知道您已经考虑过它。但是添加 private 不会对编译器产生任何影响。

标签: c#


【解决方案1】:

_ 通常表示私有成员。 另见https://stackoverflow.com/a/54129214/616194。 Rider/Resharper IDE 中的默认规则相应地起作用。

【讨论】:

  • 正确是主观的。为什么_name 正确而不是m_name
  • 正确与 _ 是常见的事实有关。见 Resharper/Rider 等中的默认规则。这并不意味着其他命名约定是不可能的
  • 我应该在 _time 之前有 Private 这个词吗?
  • 在您的问题下方查看“将军”的回答
猜你喜欢
  • 2011-04-21
  • 2011-01-16
  • 2012-01-26
  • 2018-07-13
  • 1970-01-01
  • 2012-07-06
  • 1970-01-01
  • 1970-01-01
  • 2011-06-08
相关资源
最近更新 更多