c#如何获取某一命名空间下的所有的类的信息

2025-02-24 06:06:16
推荐回答(1个)
回答1:

如果是当前下的。用Assembly.GetExecutingAssembly().GetTypes();
如果是外部DLL,用Assembly.Load("namespace").GetTypes();
原理是反射,所以上面一定要加上using System.Reflection;

示例代码:
var classes = Assembly.Load("test").GetTypes();
foreach (var item in classes)
{
Console.WriteLine(item.Name);
}
注意的是,如果查看的对象是外部的DLL,一定要把DLL复制到项目的调试文件夹Debug下。

  • /// 

      

  • /// 获取一个命名空间下的所有类  

  • ///   

  • ///   

  • ///   

  • public static List GetTypes()  

  • {  

  • List lt = new List();  

  • try  

  • {  

  • foreach (var item in Assembly.GetExecutingAssembly().GetTypes())  

  • {  

  • if(item.FullName!=typeof(common).FullName){  

  • lt.Add(item);  

  • }  

  • }  

  • }  

  • catch { }  

  • return lt;  

  • }