[Flags] public enum Status { Success = 1<<0, //1 Fail = 1<<1, //2 Unknown = 1<<2, //4 isNotFail = Success | Unknown } public static bool HasFlag(this int status, int flag) { return (status & flag) == flag; } public static int SetFlag(this int flags, int flag, bool value) { if (value) flags |= flag; else flags &= ~flag; return flags; }