尽管在 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/