3

在 C# 中,可以创建带有标志属性的 Enum。( https://docs.microsoft.com/en-us/dotnet/api/system.flagsattribute?view=netstandard-2.1 ) 这意味着 Enum 可以看起来像这样:

[Flags]
enum EnumWithFlags 
{
  None = 0,
  FlagOne = 1,
  FlagTwo = 2,
  FlagThree = 4
}

EnumWithFlags 的值可以是 5,这意味着它将同时具有 FlagThree 和 FlagOne。

这也可以使用 Enum 输入类型吗?有没有这方面的例子?

4

1 回答 1

1

架构和类型

枚举类型是一种特殊的标量,仅限于一组特定的允许值。

基本上,如果您希望它是一个枚举,您必须将每个标志组合定义为一个单独的值。更好的解决方案可能是使用向量,您可以在列表中设置多个枚举值:

    type Foo {
         flags: [EnumWithFlags]
    }

    enum EnumWithFlags {
         NONE
         FLAG_ONE
         FLAG_TWO
         FLAG_TREE
    }

一个更新,这里也已经回答

于 2020-10-21T12:08:06.163 回答