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