2008-12-29 18 views
5

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

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

回答

-2

许多例子都在网上。这里的one(在C#虽然)。

+0

-1不包括任何解释超越链接。 – 2014-07-08 14:37:58

16

假设您已在装配加载到thisAsm(在此恩我使用执行的程序集),

这将让你所有非抽象类:

Assembly thisAsm = Assembly.GetExecutingAssembly(); 
List<Type> types = thisAsm.GetTypes().Where(t => t.IsClass && !t.IsAbstract).ToList(); 

而这会让你所有的clas ses实现一个特定的接口。

(例如,如果你需要得到的只是实现IYourInterface,那么类)

Assembly thisAsm = Assembly.GetExecutingAssembly(); 
List<Type> types = thisAsm.GetTypes().Where 
      (t => ((typeof(IYourInterface).IsAssignableFrom(t) 
       && t.IsClass && !t.IsAbstract))).ToList(); 

一旦你的项目这个列表,您可以显示每个类型的成员,通过调用的GetProperties ()和GetMethods()类型列表中的每个成员。

+1

他问“使用VB程序” – TheSoftwareJedi 2009-01-03 11:41:53

1

你可以得到所有类型,从Form在VB.net继承:

Dim thisAsm As Assembly = Assembly.GetExecutingAssembly() 
Dim types As List(Of Type) = thisAsm.GetTypes().Where(Function(t) t.BaseType = GetType(Form)).ToList() 
0

这里是基于@amazedsaint答案vb.net版本:

相关问题