这在C#中究竟是什么意思?

3 c#

我正在浏览一个开源的.NET twain包装器,看到了这个:

[Flags]
internal enum TwDG : short
{                                   // DG_.....
    Control = 0x0001,
    Image = 0x0002,
    Audio = 0x0004
}
Run Code Online (Sandbox Code Playgroud)

这个'Flag'装饰器究竟是什么意思?(它被称为'装饰者'吗?)

此外,在枚举声明结束时,短片是什么意思?

谢谢!

Mit*_*ers 8

标志属性用来允许和装饰按位数学运算枚举的枚举值.

这样做可以将它们或其他操作项一起添加.

Short部分将其定义为Short而不是整数,详细信息也在链接的URL中

  • 这不完全准确.您可以在没有属性的情况下执行位翻转.尽管组合成员使用ToString(),你也可以得到漂亮的印刷效果. (3认同)
  • @Code我不确定我是否跟着你.答案表明它是"必需的".它不是.我不是在这里提倡最佳实践. (2认同)