我DLL会,其中有各种类。每一类中约有50至100名成员和4-5职能。我怎么可以创建一个列表中的所有课程和它们各自的成员使用VB.NET 计划?

我需要表现出来的用于执行用户的操作使用一个特别类。

有帮助吗?

其他提示

假设你已经在自己的组件加载到thisAsm(在此恩我使用执行的程序集),

这将让你的所有非抽象类:

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

这将让你实现特定接口的所有类。

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

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

一旦你的产品这个列表中,可以由类型列表的每个成员上调用的GetProperties()和的getMethods()示出每种类型的成员。

你可以得到所有类型的继承 形式 在VB.net:

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

下面是基于@amazedsaint答案vb.net版本:

Dim thisAsm As Assembly = Assembly.GetExecutingAssembly()
Dim types As List(Of Type) = thisAsm
    .GetTypes()
    .Where(Function(t) t.IsClass AndAlso Not t.IsAbstract).ToList()

Dim thisAsm As Assembly = Assembly.GetExecutingAssembly()
Dim types As List(Of Type) = thisAsm
    .GetTypes()
    .Where(Function(t) ((GetType(IYourInterface).IsAssignableFrom(t) AndAlso t.IsClass AndAlso Not t.IsAbstract))).ToList()

许多例子是在网络上。这里是一个(以 C#虽然)。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top