相关疑难解决方法(0)

枚举和匹配属性的C#命名约定

我经常发现自己实现了一个类来维护某种自己的状态属性作为枚举:我有状态类型的状态枚举和状态属性.我该如何解决这个名称冲突?

public class Car
{
  public enum Status
  {
    Off,
    Starting,
    Moving
  };

  Status status = Status.Off;

  public Status Status // <===== Won't compile =====
  {
    get { return status; }
    set { status = value; DoSomething(); }
  }
}
Run Code Online (Sandbox Code Playgroud)

如果Status enum对于不同的类型是通用的,我会把它放在课外,问题就会解决.但Status仅适用于Car,因此在类外声明枚举是没有意义的.

在这种情况下你使用什么命名约定?

注意:在回答这个问题的评论中,对这个问题进行了部分辩论.由于这不是主要问题,因此没有太多可见性.

编辑:Filip Ekberg建议IMO针对"状态"的具体案例提供出色的解决方法.然而,我很有兴趣阅读关于枚举/属性名称不同的解决方案,如Michael Prewecki的回答.

EDIT2(2010年5月):我最喜欢的解决方案是按照Chris S的建议复数枚举类型名称.根据MS指南,这应该仅用于标记枚举.但我越来越喜欢它了.我现在也将它用于常规枚举.

.net c# enums naming-conventions

90
推荐指数
5
解决办法
5万
查看次数

标签 统计

.net ×1

c# ×1

enums ×1

naming-conventions ×1