首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >程序集中的类的列表

程序集中的类的列表
EN

Stack Overflow用户
提问于 2008-12-29 10:15:25
回答 5查看 12.7K关注 0票数 5

我有一个DLL程序集,其中有各种类。每个类大约有50-100个成员和4-5个函数。如何使用VB.NET程序创建所有类及其各自成员的列表?

我需要向用户展示如何使用特定的类执行操作。

EN

回答 5

Stack Overflow用户

回答已采纳

发布于 2008-12-29 10:20:33

票数 2
EN

Stack Overflow用户

发布于 2008-12-29 10:25:32

假设您已经将程序集加载到thisAsm (在此示例中,我使用的是执行程序集),

这将为您提供所有非抽象类:

代码语言:javascript
复制
Assembly thisAsm = Assembly.GetExecutingAssembly();
List<Type> types = thisAsm.GetTypes().Where(t => t.IsClass && !t.IsAbstract).ToList();

这将使您获得实现特定接口的所有类。

(例如,如果只需要获取实现IYourInterface的类,那么)

代码语言:javascript
复制
Assembly thisAsm = Assembly.GetExecutingAssembly();
List<Type> types = thisAsm.GetTypes().Where
            (t => ((typeof(IYourInterface).IsAssignableFrom(t) 
                 && t.IsClass && !t.IsAbstract))).ToList();

有了这个项目列表后,就可以通过在types列表的每个成员上调用GetProperties()和GetMethods()来显示每个类型的成员。

票数 17
EN

Stack Overflow用户

发布于 2014-10-04 17:01:52

您可以在VB.net中获取从Form继承的所有类型:

代码语言:javascript
复制
Dim thisAsm As Assembly = Assembly.GetExecutingAssembly()
Dim types As List(Of Type) = thisAsm.GetTypes().Where(Function(t) t.BaseType = GetType(Form)).ToList()
票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/397435

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档