【发布时间】:2014-12-15 07:11:57
【问题描述】:
我想在我的 WebAPI 应用程序中创建一个 Enum,但我以前从未见过这样做过。在 ASP.NET 应用程序中如何命名、定义和存储这些是否有任何约定?
【问题讨论】:
标签: c# asp.net asp.net-web-api enums
我想在我的 WebAPI 应用程序中创建一个 Enum,但我以前从未见过这样做过。在 ASP.NET 应用程序中如何命名、定义和存储这些是否有任何约定?
【问题讨论】:
标签: c# asp.net asp.net-web-api enums
WebAPI 中的Enum 没有什么特别之处。您可以在任何地方声明Enum。当然,将它与 Entities、Repositories 等一起定义在 Data Access 项目中是有意义的。
关于命名也没有约定。有些人喜欢在末尾附加“Enum”,有些人则不喜欢。
public enum ColorOptions { ... }
或
public enum ColorOptionsEnum { ... }
如果你有一个实体 Car 并且你希望它有一个 ColorOptions Enum 属性,那么将两者放在一起是有意义的:
public class Car
{
public ColorOptions AvailableColorOptions { set; get; }
}
[Flags]
public enum ColorOptions
{
Black,
Red,
Blue,
...
}
【讨论】:
实际上,.NET Framework 设计指南确实规定了枚举的命名约定。虽然有些人确实喜欢在枚举名称中添加“Enum”,但不建议这样做:
枚举类型(也称为枚举)的名称通常应遵循标准类型命名规则(PascalCasing 等)。但是,还有一些专门适用于枚举的附加准则。
- √ 除非其值为位字段,否则请务必使用单数类型名称进行枚举。
- √ 对位字段作为值的枚举使用复数类型名称,也称为标志枚举。
- X 不要在枚举类型名称中使用“枚举”后缀。
- X 不要在枚举类型名称中使用“Flag”或“Flags”后缀。
- X 不要在枚举值名称上使用前缀(例如,“ad”表示 ADO 枚举,“rtf”表示富文本枚举等)。
来源:http://msdn.microsoft.com/en-us/library/ms229040%28v=vs.110%29.aspx
【讨论】: