尽管在C# 枚举和匹配属性的命名约定中阅读了类似但不完全是我想要的内容,但我仍然在问这个问题
我发现我倾向于将枚举命名为复数,然后将它们“使用”为单数,例如:
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;} }
附加信息:也许我的问题不够清楚。在命名我定义的枚举类型的变量时,我经常不得不仔细考虑。我知道最佳实践,但这无助于减轻我命名这些变量的工作。
我不可能将我所有的枚举属性(比如“状态”)公开为“我的状态”。
我的问题:谁能发现我上述约定的潜在问题? 这与最佳实践无关。
问题改写:
好吧,我想我应该这样问这个问题:有人能想出一个好的通用方式来命名枚举类型,这样在使用时,枚举“实例”的命名会非常简单吗?
Microsoft 建议对Enums 使用单数,除非Enum代表位字段(FlagsAttribute也使用 the)。请参阅枚举类型命名约定(Microsoft命名指南的一个子集)。
Enum
FlagsAttribute
为了回应您的澄清,我认为以下任何一项都没有问题:
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; } }