c# - 枚举命名约定 - 复数

标签 c# .net enums naming-conventions plural

尽管在 C# naming convention for enum and matching property 上阅读了类似但不完全是我想要的内容,但我还是在问这个问题

我发现我倾向于以复数命名枚举,然后将它们作为单数“使用”,例如:

public enum EntityTypes {
  Type1, Type2
}

public class SomeClass {
  /*
    some codes
  */

  public EntityTypes EntityType {get; set;}

}

当然可以,这是我的风格,但是有人能发现这种约定的潜在问题吗?不过,我确实有一个“丑陋”的名字,其中包含“状态”一词:

public enum OrderStatuses {
  Pending, Fulfilled, Error, Blah, Blah
}

public class SomeClass {
  /*
    some codes
  */

  public OrderStatuses OrderStatus {get; set;}

}

附加信息: 也许我的问题不够清楚。在命名我定义的枚举类型的变量时,我经常需要认真思考。我知道最佳做法,但这无助于减轻我命名这些变量的工作。

我不可能将所有枚举属性(例如“Status”)公开为“MyStatus”。

我的问题:任何人都可以找到我上述约定的潜在问题吗? 这与最佳实践无关。

问题改写:

好吧,我想我应该这样问这个问题:有人能想出一个好的通用方法来命名枚举类型,这样在使用时,枚举“实例”的命名会非常简单吗?

最佳答案

Microsoft 建议对 Enum 使用单数,除非 Enum 表示位字段(也使用 FlagsAttribute)。参见 Enumeration Type Naming Conventions (Microsoft 的 Naming Guidelines 的子集)。

为了回应您的澄清,我认为以下任何一项都没有问题:

public enum OrderStatus { Pending, Fulfilled, Error };

public class SomeClass { 
    public OrderStatus OrderStatus { get; set; }
}

public enum OrderStatus { Pending, Fulfilled, Error };

public class SomeClass {
    public OrderStatus Status { get; set; }
}

关于c# - 枚举命名约定 - 复数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1405851/

相关文章:

C# 代码编译后的 .exe 无法运行

c# - 尝试在运行时调整 bat (桨,乒乓球)的速度

c# - 关于泛型和 IEnumerable 的方法重载解析

c# - Linq 嵌套列表 3 深

c# - WPF Datepicker - SelectedDate 只是日期而不是时间

c# - 通过 Teamviewer 连接时 WPF 应用程序崩溃

.net - Sitecore - xslt 渲染 - 当没有可用的已发布版本时隐藏

c++ - 用 RBGA 值填充枚举

c - 有什么简单的方法可以在c语言中将int类型转换为enum类型?

java - 通过 API 更新枚举