答えて
あなたが使用できるDLL内のすべてのタイプを取得するには、Activator.CreateInstanceを使用してTypeオブジェクトからクラスのインスタンスを作成することができますAssembly.GetTypes
これらのリンクを見てみましょう:
http://www.java2s.com/Code/CSharp/Development-Class/Createanobjectusingreflection.htm
http://msdn.microsoft.com/en-us/library/k3a58006.aspx
あなたは基本的にあなたが興味のあるタイプを見つけ、その後、アセンブリをロードするためにリフレクションを使用しています。あなたはタイプを持っていたら、それはコンストラクタや他のMETだ見つけるために依頼することができますhods /プロパティ。コンストラクタを作成したら、それを呼び出すことができます。簡単!
System.Reflection.Assembly
は、使いたいクラスです。これには、ユーザーDLLに含まれる型を反復処理するための多くのメソッドが含まれています。あなたはAssembly.GetTypes()
タイプのリストを取得するための方法、または唯一の公共のもののためにAssembly.GetExportedTypes()
を調査
http://msdn.microsoft.com/en-us/library/system.reflection.assembly_members.aspx
など、特定のインターフェイスから継承するかどうかを確認し、おそらく、各クラスを反復処理することができます。既に述べたように、System.Reflection名前空間をポックする必要があります。
ロードするDLLの場所と名前がわかっている場合は、Assembly.GetTypes()を反復処理する必要があります。
擬似コードでは、このようになります:
が作成し、組立オブジェクト。
アセンブリに含まれるすべてのタイプを繰り返します。
あなたあなたが探しているものを見つけ、(のCreateInstance)それを呼び出す...
は賢く、それを使用したら。
;)
あなたの周り見てみたい場合、私はリフレクションコードの多くを持っていますが、作業は本当に簡単で、そこに野生のサンプルと記事のダースが少なくともあります。 (別名Google)。 それにもかかわらず、MSDNはReflection Referenceのあなたの友人です。
- 1. コンパイル時に型を知らずにIEnumerable []を作成する
- 2. C#のクラス名を知らずに基本クラスにキャストする
- 3. Android - (Firebase)ユーザー名を知らずにユーザー名でAutoCompleteTextViewを作成
- 4. クラス名を知らずにJavaクラスを実行する方法
- 5. コンパイル時にクラス名を知らずにコンポーネントのクラスを動的にインポートする方法はありますか?
- 6. 実行時に知られているクラスのインスタンスを作成する
- 7. フィールドを知らずにC++オブジェクトをシリアライズ
- 8. 実行時にJavaのクラス名を使用してオブジェクトの配列を作成
- 9. オブジェクトを作成せずにスーパークラスがメソッドを知る方法をオーバーライドする
- 10. クラスを呼び出さずにオブジェクトを作成
- 11. 実行時に既知のプロパティのリストからオブジェクトを動的に作成
- 12. クラス/オブジェクトを使用せずにツリー階層を再帰的に作成する
- 13. rubyでオブジェクト(クラス)で作成されたオブジェクト(クラス)を作成するには?
- 14. PHPでRestAPIデザイン - オブジェクトのオブジェクトを作成する代わりにオブジェクトの配列
- 15. 実行時にクラスを作成する
- 16. ListBoxのデザイン時にコントロール配列を作成する方法は?
- 17. ファイルから実行時にクラスを動的に作成する
- 18. 名前を知らずにcoldfusion変数にアクセスする
- 19. ブレンド4 - クラスの変更時に 'クラスからサンプルデータを作成'を再作成
- 20. Xamarinテーブルマッピングやクラスを知らずにSQLiteクエリを実行する
- 21. 特定のIPバージョンを知らずに `IpAddr`を作成するには?
- 22. 分度器:ファイル名を知らずにファイルをダウンロードする
- 23. ファイル名を知らずにソートされたファイルをマージする
- 24. C++で汎用クラスからオブジェクトを作成するには?
- 25. Canvas3Dクラスからオブジェクトを作成するには?
- 26. 派生クラスのオブジェクトから仮想クラスを作成せずに基本クラスプロパティを呼び出す
- 27. 左右のクラス名が異なるオブジェクトを作成する
- 28. 一般的にJavascriptで文字列クラス名からオブジェクトを作成
- 29. 名前を知らずにオブジェクトプロパティにアクセスしていますか?
- 30. クラス名を使ってクラスを動的に作成する