(按照我的博客文章中有关枚举约束的要求。为了提供独立答案,我在下面列出了基本事实。)
最好的解决方案是等待我将其包含在UnconstrainedMelody1中。这是一个使用带有“假”约束的C#代码的库,例如
where T : struct, IEnumConstraint
并变成
where T : struct, System.Enum
通过后期构建步骤。
编写它应该不会太难IsSet
…尽管同时满足Int64
基于-和UInt64
基于- 的标志可能是棘手的部分。(我闻到了一些辅助方法的出现,基本上使我可以将任何标志枚举都视为具有基本类型UInt64
。)
如果您致电,您希望该行为如何?
tester.IsSet(MyFlags.A | MyFlags.C)
?是否应该检查 所有 指定标志都已设置?那是我的期望。
我将在今晚回家的路上尝试这样做。我希望对有用的枚举方法进行快速的探讨,以使库快速达到可用的标准,然后再放松一下。
编辑:IsSet
顺便说一下,我不确定名字。选项:
欢迎思想。我敢肯定,要把所有东西都固定下来还需要一段时间…
1或作为补丁提交,当然…