C# 应该提供什么作为参数来检查出现了哪个枚举名称
如果我循环遍历包含名称(如Enum)的列表:C# 应该提供什么作为参数来检查出现了哪个枚举名称,c#,enums,C#,Enums,如果我循环遍历包含名称(如Enum)的列表: newEnum.ForEach(x => { if(x == Enum.AAA) { method(parameter); } else if(x == Enum.BBB) { method(parameter); } // etc. }); method(parameter); 所以当定义一个方法来做某事时,我不想写10次, 那么,我应该如何在方法中提供参数,以便检查其中哪一个 枚举发生了什么?Enum.AAA或E
newEnum.ForEach(x => {
if(x == Enum.AAA) { method(parameter); }
else if(x == Enum.BBB) { method(parameter); }
// etc.
});
method(parameter);
所以当定义一个方法来做某事时,我不想写10次,
那么,我应该如何在方法中提供参数,以便检查其中哪一个
枚举发生了什么?Enum.AAA或Enum.BBB或其他什么
编辑:如何在方法中提供所选枚举的信息,以便我可以使用它。我需要做一些事情,这取决于它是Enum.AAA,还是Enum.BBB,或者其他什么?希望您理解我因为您没有提到两种不同的枚举类型,并且始终使用
enum
、enum.AAA
和enum.BBB
,所以参数的类型必须是enum
。该方法可以使用开关
public enum Enum{ AAA, BBB }
您可以编写一个接受整数而不是枚举的方法。但是,您必须验证提供的值是否具有有效的名称。能否提供真实的代码,并且不要忽略类型等相关信息?什么是
参数
?很难理解你想从这一小段代码中得到什么-这是什么,伪代码?如果Enum
是例如public Enum MyFirstEnum{Item1,Item2}
这个方法应该接受MyFirstEnum
作为参数类型。@TimSchmelter可能,但是无论哪种方式,参数
都必须声明为MyFirstEnum
和MySecondEnum
之间的共同点,不是吗?这正是我想要的:)我必须说谢谢,即使它不受欢迎,因为我没有向上投票的名声:)
foreach(Enum x in newEnum)
method(x);
public void method(Enum x)
{
switch(x)
{
case Enum.AAA: ... break;
case Enum.BBB: ... break;
}
}