Я не уверен на 100%, какой реальный сценарий вас беспокоит, но мы должны быть в состоянии справиться с этим
Я изменил некоторые имена, но предполагая Enum:
public enum enumExampo
{
Set1 = 1,
Set2 = 2,
Unset4 = 4,
Set8 = 8,
set9 = 9
}
Я настроил метод как:
public static void checkExampo(enumExampo exampo)
{
switch (exampo)
{
case enumExampo.Set1:
Console.WriteLine("This should not run");
break;
case enumExampo.Set2:
Console.WriteLine("This should not run");
break;
case enumExampo.Unset4:
Console.WriteLine("This should run");
break;
case enumExampo.Set8:
Console.WriteLine("This should not run");
break;
case new enumExampo():
Console.WriteLine("is a new Instance");
break;
default:
Console.WriteLine($"Default, flagged for {exampo}");
break;
}
}
А затем использование:
var sampleEnum = new enumExampo();
var exNiner = enumExampo.set9;
checkExampo(sampleEnum);
checkExampo(exNiner);
дает нам результаты в консоли:
это новый экземпляр
По умолчанию помечено для set9