3

我正在使用 C# windows 窗体实现语法荧光笔,并想获取所有名称的列表,我知道这应该手动完成,添加关键字和名称,但我想知道 C# 中是否有可以帮助我的函数做这个。

4

4 回答 4

4

使用反射。

Assembly.GetAssembly(typeof(MyClass)).GetTypes()
于 2012-06-06T08:05:31.203 回答
3

您将不得不使用反射来获取 dll 中类的名称。

// Using Reflection to get information from an Assembly:
System.Reflection.Assembly o = System.Reflection.Assembly.Load("mscorlib.dll");
var types = o.GetTypes();
于 2012-06-06T07:57:59.733 回答
2
  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;
于 2012-06-06T09:53:52.930 回答
1

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

例子 :

Assembly mscorlib = typeof(string).Assembly;
foreach (Type type in mscorlib.GetTypes())
{
    Console.WriteLine(type.FullName);
}
于 2012-06-06T08:03:19.057 回答