【问题标题】:Is there any convention for where to store Enums in an ASP.Net WebAPI application?在 ASP.Net WebAPI 应用程序中存储枚举的位置是否有任何约定?
【发布时间】:2014-12-15 07:11:57
【问题描述】:

我想在我的 WebAPI 应用程序中创建一个 Enum,但我以前从未见过这样做过。在 ASP.NET 应用程序中如何命名、定义和存储这些是否有任何约定?

【问题讨论】:

    标签: c# asp.net asp.net-web-api enums


    【解决方案1】:

    WebAPI 中的Enum 没有什么特别之处。您可以在任何地方声明Enum。当然,将它与 EntitiesRepositories 等一起定义在 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,
        ...
    }
    

    【讨论】:

      【解决方案2】:

      实际上,.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

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2019-06-23
        • 2011-03-08
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多