【发布时间】:2011-02-15 15:53:12
【问题描述】:
我正在尝试使用反射来列出一个 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
任何人都可以提供的任何帮助将不胜感激。到目前为止,我已经用尽了我所能找到的一切,但一个新的视角会很好。
谢谢
【问题讨论】:
标签: c# windows reflection enums