我有一套枚举
public enum enums
{
enum1,
enum2,
enum3,
enum4,
enum5
}
在另一个班级我想要两个对象:
var object1 = new enums();//Here I want an enum of enum1,enum2
var object2 = new enums();//Here I want an enum of enum3,enum4,enum5
有没有人知道如何做到这一点?
答案 0 :(得分:7)
使用Flags
属性,您可以分配更多值:
[Flags]
public enum enums
{
enum1 = 1,
enum2 = 2,
enum3 = 4,
enum4 = 8,
enum5 = 16
}
这里有一篇很好的文章解释如何使用它:https://stackoverflow.com/a/8480/2043144
更多编辑:
然后你的代码应该是这样的:
enums object1 = enums.enum1 | enums.enum2;
enums object2 = enums.enum3 | enums.enum4 | enums.enum5;
检查您的object1
是否包含给定标志:
if ((object1 & enums.enum1) == enums.enum1)
{
//object1 contains enums.enum1 flag
}