我正在尝试使用反射来列出一个Visual Studio解决方案中几个项目内的公共成员和方法。我要访问的所有类都是C#类,并且它们都是从一个C#类中访问的。我使用的代码如下:
public void PopulateEventParamTree()
{
System.Console.WriteLine(source.GetType().ToString());
Type type = (Type)source.getEventType();
System.Console.WriteLine(type.ToString());
foreach (MemberInfo member in type.GetMembers())
{
System.Console.WriteLine("\t" + member.ToString());
}
}
大多数输出效果都很好(例如 Int32、Double、System.String)。我的问题是,当我尝试列出枚举时,我在控制台上看到的输出如下:
Namespace.Subspace.event+EVENT_TYPE
我希望能够查看枚举类型的所有内部值,而不仅仅是它的名称。例如,该枚举类型
public enum EVENT_TYPE
{
EVENTDOWN,
EVENTMOVE,
EVENTUP,
}
应该输出类似这样的内容。
Namespace.Subspace.class+EVENT_TYPE EVENTDOWN
Namespace.Subspace.class+EVENT_TYPE EVENTMOVE
Namespace.Subspace.class+EVENT_TYPE EVENTUP
非常感谢大家能够提供任何帮助。我已经尽力搜索了所有能够找到的内容,但是一个新的视角会很好。
谢谢!