質問

私はここで様々なクラスがあり、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を呼び出すことによって、各タイプのメンバーを表示することができます。

あなたは<のhref =「http://msdn.microsoft.com/en-us/library/system.windows.forms.form%28v=vs.110%29.aspx」から継承するすべての種類を取得することができますrel = "nofollowを" タイトル= "フォームクラス"> VB.netでのフォームます:

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

ここでは、vb.netバージョン@amazedsaintの回答に基づいています:

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()

多くの例では、Web上にあります。ここで(1 のnoreferrer"> C#にかかわらず)。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top