如何得到一个命名空间,或者接口中的所有类
1个回答
展开全部
基本思路就是反射。但这个不是很好实现,因为反射是基于程序集的,需要一个DLL或EXE作为入口。建议把这个命名空间(如:YourLibrary.YourNamespace)放到一个程序集(类库)中,如:YourLibrary。然后用外部的程序集以反射的方式加载这个程序集,再调用GetTypes()来获取该程序集下的所有类。比如在YourLibrary.YourNamespace下有A,B,C三个类,现在在Test程序集(如:控制台程序)中遍历这三个类:
using System.Reflection;
namespace Test
{
public class Program
{
public static void Main(string[] args)
{
foreach(Type t in Assembly.Load("YourLibrary").GetTypes())
{
//你对这些类信息的操作
//e.g:
//Console.Write(t.FullName);
}
}
}
}
using System.Reflection;
namespace Test
{
public class Program
{
public static void Main(string[] args)
{
foreach(Type t in Assembly.Load("YourLibrary").GetTypes())
{
//你对这些类信息的操作
//e.g:
//Console.Write(t.FullName);
}
}
}
}
推荐律师服务:
若未解决您的问题,请您详细描述您的问题,通过百度律临进行免费专业咨询