日期:2014-05-18  浏览次数:20490 次

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.取出其中类的名称

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