アセンブリ内のクラスのリスト
-
29-08-2019 - |
質問
私はここで様々なクラスがあり、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#にかかわらず)。
所属していません StackOverflow