public static void Main()
Console.WriteLine(MissionStateEnum.Assigned.IsAtLeastStarted());
MissionStateEnum state = MissionStateEnum.Started;
if (state.IsAtLeastStarted())
[AttributeUsage(AttributeTargets.Field, AllowMultiple = false)]
class AtLeastStartedAttribute : Attribute {}
public enum MissionStateEnum
public static class MissionStateEnumExtension
public static bool IsAtLeastStarted(this MissionStateEnum stateEnum)
var name = Enum.GetName(typeof(MissionStateEnum), stateEnum);
return typeof(MissionStateEnum).GetField(name)
.GetCustomAttributes(typeof(AtLeastStartedAttribute), false)