如何使用Enum和其他选项(全部,无)

sve*_*vit 7 .net enums

我有一个枚举,其中:

  • 作为财产包含在我的班级中
  • 它代表数据库表中的一些值(几种类型)
  • 它显示在DropBox中,因此可以用作过滤器

现在我想在此DropBox中添加"All"(或"None")值.

我该怎么做:

  • 将"全部"值添加到枚举?
  • 将"All"值添加到DropBox,将我的属性类型从Enum更改为String
  • 一些其他选择......

Joã*_*elo 6

Codesleuth对另一个答案的评论让我再次阅读了这个问题,这是一个更新.

如果您要使用多个组合,请考虑使用标志枚举.在您的情况下,这意味着选择任何类型的组合是有效的输入.

[Flags]
enum MyTypes
{
    None = 0,
    One = 1,
    Two = 2,
    Three = 4,
    Four = 8,
    All = One | Two | Three | Four
}
Run Code Online (Sandbox Code Playgroud)

如果用户只能选择一种类型或所有类型,则使用普通枚举:

enum MyType
{
    None,
    One,
    Two,
    Three,
    Four,
    All
}
Run Code Online (Sandbox Code Playgroud)