当前位置: 代码迷 >> ASP.NET >> 100分,请教“怎么获取,自己在项目中写的(所有)类的名称”,初学,问的比较傻,请您原谅
  详细解决方案

100分,请教“怎么获取,自己在项目中写的(所有)类的名称”,初学,问的比较傻,请您原谅

热度:3693   发布时间:2013-02-25 00:00:00.0
100分,请问“如何获取,自己在项目中写的(所有)类的名称”,初学,问的比较傻,请您原谅。
想用代码,获取项目中所有自定义类(所有的)的名称。

请您,说说怎么作到。

------解决方案--------------------------------------------------------
用反射,得到assembly里的所有type为class的
------解决方案--------------------------------------------------------
Type[] t = Assembly.GetExecutingAssembly().GetTypes();

foreach (Type tempT in t)
{
if (tempT.IsClass)
{
string className = tempT.Name;
}
}
------解决方案--------------------------------------------------------
Assembly a = Assembly.Load(程序集名称); // 参考其他重载方法
Type[] mytypes = a.GetTypes();
foreach(Type t in mytypes)
{
if(t.IsClass) {
Console.WriteLine(t.Name);
}
}

参考信息:
Assembly 类
http://msdn2.microsoft.com/zh-cn/library/System.Reflection.Assembly(VS.80).aspx

------解决方案--------------------------------------------------------
Assembly a = Assembly.Load(程序集名称); //程序集名称指的是你的类库名称,可右击点“属性”查看及更改
Type[] mytypes = a.GetTypes();
foreach(Type t in mytypes)
{
if(t.IsClass) {
Console.WriteLine(t.Name);
}
}
楼上正解.
------解决方案--------------------------------------------------------
基本就是楼上几位的思路
建程序集实例
遍历装类型的容器
取出其中类名称
代码不需要了,上面都有
------解决方案--------------------------------------------------------
上面都写清楚咯~~~

1.建程序集实例
2.遍历类型的容器
3.取出其中类的名称

找个实例来你应该能看懂,不然看了代码你依然要想很长时间
  相关解决方案