我想使用类似的东西:
object ob;
var props = ob.GetType().GetProperties();
List<Element> list = new List<Element>();
foreach (var prop in props)
{
if (prop.PropertyType == typeof(String))
list.Add(makeStringProperty(prop));
else if (prop.PropertyType == typeof(int))
list.Add(makeIntProperty(prop));
else
{
}
}
它将给定对象中的每个属性添加到给定列表中。现在我想添加一个子句来添加枚举变量,包括通过 Enum.GetValues() fe 获取其所有值。这对于任何一个给定的枚举来说都很容易,但我希望这对于每个可能的枚举都是通用的,所以例如如果 ob 会有:
enum Weather {
sunny,
rainy,
cloudy
}
Weather weather = sunny;
enum Places {
beach,
mall,
home
}
Places place = beach;
我将能够自己获取两个变量以及两个枚举的所有值。当然我不能直接检查 typeof(Enum) 或任何东西。有人有线索吗?