获取C#类名称列表?

时间:2012-06-06 07:56:17

标签: c# winforms

我正在使用C#windows窗体实现语法高亮显示,并希望得到所有名称的列表,我知道这应该手动完成,添加关键字和名称,但我想知道C#中是否有一个函数可以帮我做到这一点。

4 个答案:

答案 0 :(得分:4)

使用反射。

Assembly.GetAssembly(typeof(MyClass)).GetTypes()

答案 1 :(得分:3)

您必须使用reflection来获取dll中类的名称。

// Using Reflection to get information from an Assembly:
System.Reflection.Assembly o = System.Reflection.Assembly.Load("mscorlib.dll");
var types = o.GetTypes();

答案 2 :(得分:1)

您可以使用反射在C#.NET中获取所有程序集的列表。

示例:

Assembly mscorlib = typeof(string).Assembly;
foreach (Type type in mscorlib.GetTypes())
{
    Console.WriteLine(type.FullName);
}

答案 3 :(得分:1)

  Assembly asm = Assembly.GetExecutingAssembly();
  List<string> namespaceList = new List<string>();
  List<string> returnList = new List<string>();
  foreach (Type type in asm.GetTypes())
{
    if (type.Namespace == nameSpace)
        namespaceList.Add(type.Name);
}
    foreach (String className in namespaceList)
    returnList.Add(className);
    return returnList;