• 全部
  • VBS
  • .NET技术
  • VBA
  • VB网络编程
  • VB多媒体
  • VB数据库
  • VB控件
  • VB COM/DCOM
  • VB基础类
  • VB API
  • 问答

求助:如何遍历某个命名空间下面的所有类,以及这些类的所有属性、方法(包括被重载的)

Randy002 2005-05-17 01:38:55
如何遍历某个命名空间下面的所有类,以及这些类的所有属性、方法(包括被重载的)?
...全文
192 1 收藏 14
写回复
14 条回复
切换为时间正序
当前发帖距今超过3年,不再开放新的回复
发表回复
Randy002 2005-05-18
还请楼上Ninputer(装配脑袋) 帮忙解释一下“程序集”和“命名空间”的差异。谢谢!
回复
Ninputer 2005-05-18
反射只能得到程序集里面定义的所有类型,不能得到某命名空间中的所有类型。当然你可以自己再加以计算搜索。
回复
leeyeefeng2004 2005-05-18
“反射”?谁能说说具体的概念~~~?晕!
回复
Randy002 2005-05-18
牛人!

以前我都不知道还有“反射”这个概念! 真是差距太大了~~

不知道哪位高手能再推荐一些深入学习的书籍或是网上的教程,不局限于这方面~
回复
farrio 2005-05-18
不是試試吧,只能用反射。
回复
Randy002 2005-05-18
问题基本解决了~

也长了不少见识,结帖! 另送500分~
回复
jkgl 2005-05-18
看看http://dev.csdn.net/Develop/article/24/24450.shtm有帮助
回复
zifer66 2005-05-18
uP
回复
jkgl 2005-05-18
反射(reflection)是内置于.net中的一种技术,它允许我们通过编写代码来查寻.net装配件(assembly),以动态地确定其所包含的类和数据类型。然后,我们可以使用反射将该装配件加载到我们的进程中,并创建这些类的实例及调用他们的方法。
例如,如果我们要调用的类在别的装配件中,在编译项目是不能在项目中显示地引用装配件,那么我们就可以利用反射动态地插寻,装入,调用这类装配件。
回复
fire_in_wind 2005-05-18
试试能不能用反射!
回复
mark44404 2005-05-18
利用反射,system.reflection
using System;
using System.Reflection;
public class LoadInvoke
{
public static void Main(string[] args)
{
Assembly a = Assembly.LoadFrom(args[0]);
Type[] mytypes = a.GetTypes();
BindingFlags flags = (BindingFlags.NonPublic | BindingFlags.Public |
BindingFlags.Static | BindingFlags.Instance | BindingFlags.DeclaredOnly);

foreach(Type t in mytypes)
{
MethodInfo[] mi = t.GetMethods(flags);
Object obj = Activator.CreateInstance(t);

foreach(MethodInfo m in mi)
{
m.Invoke(obj, null);
}
}
}
}
回复
Randy002 2005-05-17
如果大家知道怎么做,还请帮忙解答一下,答案OK的可以再另外送500分;

如果大家关心答案而不知道答案的话,帮忙up的也是welcome的~
回复
ray680719 2005-05-17
up
回复
兔子党-顾问 2005-05-17
up
回复
发帖
VB
创建于2007-09-28

1.6w+

社区成员

VB技术相关讨论,主要为经典vb,即VB6.0
申请成为版主
帖子事件
创建了帖子
2005-05-17 01:38
社区公告
暂无公告