【发布时间】:2014-01-08 09:57:13
【问题描述】:
我有一个包含多个枚举的类,如下所示:
public class MyEnumerateClass
{
public enum Enum1
{
enum1Value1,
enum1Value2
}
public enum Enum2
{
enum2Value1,
enum2Value2
}
}
我有一个方法可以像这样采用任何枚举:
public void GetValue(MyEnumerateClass enumerateField)
{
switch (enumerateField)
{
case enum1Value1:
... do stuff here ...
break;
.......... stuff ..........
}
}
我们可以理解,GetValue 允许我接受之前声明的两个值中的任何一个。但我有一个问题:
当我需要检查枚举类型并检查它是Enum1还是Enum2时,我不知道如何处理......
public void GetType(MyEnumerateClass enumerateField)
{
enumerateField.values(); // To do this I need to know the type of the enumerate
}
那么,如果枚举类型在MyEnumerateClass 中,我该如何获取它?
【问题讨论】:
-
这个问题对我来说真的没有意义。变量
enumerateField的类型是MyEnumerateClass,它只是一个类(尽管声明了一些枚举)。您不能打开一个类,此外,在 sn-p 中,您显示的对象甚至没有任何枚举类型的字段...