我有两个枚举和一个将枚举作为参数的方法。它们称为 ABC 和 DEF,方法称为 TestMethod(Enum myEnum)。代码如下:
public enum ABC
{
Zero = 0,
One = 1,
Two = 2
};
public enum DEF
{
Three = 3,
Four = 4,
Five = 5
};
public int TestEnum(Enum myEnum)
{
int returnValue = ??? // How do I get the value out of this enum that can be either ABC or DEF?
bool randomTestBool = returnValue > 3;
return returnValue
}
public void CallerFunction()
{
int whatsMyInt = TestEnum(DEF.Four);
}
从 CallerFunction() 我调用 TestEnum() 函数并传入两个(理想情况下更多)枚举之一。我需要了解如何获取整数格式的值,以便在函数中进行比较。现在,如果这是一个单一类型的枚举,即如果函数是 TestEnum(DEF myDefEnum) 那么这将很容易,但是,该函数需要处理多个 Enum 类型。感谢之前的回复,我了解到要获得一种枚举类型,我可以做以下两件事之一:
1) bool isThisDef = myEnum 是 DEF;但我很好奇是否有比为每种 Enum 类型创建场景更通用的方法。也许像这样
2) 键入 myEnumType = myEnum.GetType(); 但我现在不知道该怎么办。任何帮助是极大的赞赏。=) 顺便说一句,字符串 testString = myEnum.toString(); 产生错误:\