应该提供什么作为参数来检查发生了哪个枚举名称

时间:2017-12-06 13:22:26

标签: c# enums

如果我遍历包含名称如Enum的列表:

newEnum.ForEach(x => {
    if(x == Enum.AAA) { method(parameter); }
    else if(x == Enum.BBB) { method(parameter); }
    // etc.
});

method(parameter);

所以在定义一个方法来做某事时,我不想写它10次, 那么我应该如何在方法中提供参数,以便我可以检查哪一个 enum发生了? Enum.AAA或Enum.BBB还是其他什么?

编辑:如何在方法中提供有关所选枚举的信息,以便我可以使用它。我需要做一些事情,取决于它是Enum.AAA,还是Enum.BBB,还是其他一些?希望你了解我

1 个答案:

答案 0 :(得分:0)

由于您没有提及两种不同的枚举类型并始终使用EnumEnum.AAAEnum.BBB,因此参数只需要是Enum类型。该方法可以使用switch然后。

public enum Enum{ AAA, BBB }

...

foreach(Enum x in newEnum)
    method(x);

...

public void method(Enum x)
{
    switch(x)
    {
         case Enum.AAA: ... break;
         case Enum.BBB: ... break;
    }
}