【问题标题】:How to name enums versus properties如何命名枚举与属性
【发布时间】:2010-12-10 10:44:47
【问题描述】:

在以下人为的 C# 代码中,我不喜欢枚举名称与属性名称相同。

public enum CollarType
{
    Classic,
    VNeck
}

public class Shirt
{
    public CollarType CollarType { get ... }
}

在过去,当更多人使用匈牙利语/class CShirt 等其他奇怪的命名时,这种冲突并没有发生。但是今天我经常遇到它。

您如何处理这种情况?您只是接受这么多事物同名的事实,还是您有更好的命名方案?

【问题讨论】:

标签: c# naming-conventions


【解决方案1】:

枚举名称与属性名称相同的唯一限制是您不能将枚举定义为具有该属性的类的嵌套类型。

例如这工作:

public class Shirt
{
    public enum CollarType
    {
        Classic,
        VNeck
    }

    public CollarType CollarType { get ... }
}

但是,从积极的方面来说,恕我直言,它确实使代码更具可读性,因为它清楚地

myShirt.CollarType = CollarType.Classic;

【讨论】:

  • 顺便说一句,这正是提示问题的情况。
【解决方案2】:

是的,拥有与其类型名称相同名称的属性是绝对正常的。

【讨论】:

    【解决方案3】:

    BCL 中的约定只是使用它来运行。除了nested enums,它不会引起任何歧义。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-01-16
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2011-02-16
      • 2020-12-31
      • 2016-02-21
      • 1970-01-01
      相关资源
      最近更新 更多