C#创建多个类使用的枚举的最佳方法是什么?

Mar*_*ijn 13 c# enums

我有一个由多个类使用的枚举.实现这个的最佳方法是什么?

Sek*_*hat 13

通常我只是将它们放入命名空间.这就是微软编写.NET框架的原因,所以我也是这样做的,因为你理解的一致性:)


Dar*_*uck 8

把它放在自己的文件中,然后声明它:

public enum Foo {a,b,c,d}

当然考虑你的命名空间.


lc.*_*lc. 8

  1. 将枚举放在命名空间中(或为它们创建一个新的命名空间)或
  2. 如果更有意义的话,把它们放在某个(静态?)类中.

我会将它们保存在自己的文件中,以便于访问和良好的组织.

我通常不会把它们放在一个班级,除非他们以某种方式"归属"那里.就像你有一个带有汽车类型枚举的汽车类,以及可以为汽车类型设置限制的道路类和桥类.Car.CarType似乎是一个合乎逻辑的组织......

  • 使用以下命令创建一个新的.cs文件:namespace MyNameSpace {public enum MyEnum {Value1,Value2,Value3}} (3认同)

Rob*_*ean 7

XML注释有帮助,特别是如果其他人会使用它

 /// <summary>
/// Defines the types of cars we support
/// </summary>
public enum CarType
{
    /// <summary>
    /// VW - the peoples car
    /// </summary>
    Volkswagen,
Run Code Online (Sandbox Code Playgroud)

你的枚举名称应该是复数(按照FxCop的指示)

public enum CarTypes
Run Code Online (Sandbox Code Playgroud)

即使您不打算按位使用,也可以添加数值并使用按位编号(稍后重新编号会很麻烦).

    Volkswagen = 1,

    /// <summary>
    /// They own lambo... can't be all that bad
    /// </summary>
    Audi = 2,

    /// <summary>
    /// Good, cheap, reliable
    /// </summary>
    Toyota = 4,
Run Code Online (Sandbox Code Playgroud)