我[Enum]
在我的页面中用作特殊模板列表的一部分..
<Flags>
Enum SMARTTAGS As Long
ITEM01 = 1 << 1
ITEM02 = 1 << 2
ITEM03 = 1 << 3
ITEM04 = 1 << 4
ITEM05 = 1 << 5
…
ITEM31 = 1 << 31
ITEM32 = 1 << 32
ITEM33 = 1 << 33
ITEM34 = 1 << 34
End Enum
为简单起见,这些[Enum]
重新组合如下;
<Flags>
Enum SMARTTAGSGROUP As Long
GROUP1 = ITEM01 OR ITEM02 OR ITEM03 OR … OR ITEM15
GROUP2 = ITEM31 OR ITEM32 OR ITEM33 OR ITEM34
End Enum
现在 – 当我选择 GROUP2 时:而不是给我 ITEM31/32/33/34(4 个项目),我得到 ITEM1/2/31/32/33(5 个项目)......。事实上,就位标志而言,它给了我 1,2、1073741824 和 -2147483648。
所以我有两个问题:
- 每个带有 BitFlags 的 Enum 中可以有多少个元素?
- 我假设
Long
它必须是 64 - 那么我怎样才能在我的列表中获得正确的“组”?
非常感谢您的回答。
弗雷德