答えて
あなたが使用できる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. クラス名を知らずにJavaクラスを実行する方法
- 2. 実行時に知られているクラスのインスタンスを作成する
- 3. 実行時にJavaのクラス名を使用してオブジェクトの配列を作成
- 4. クラスを呼び出さずにオブジェクトを作成
- 5. rubyでオブジェクト(クラス)で作成されたオブジェクト(クラス)を作成するには?
- 6. 実行時にクラスを作成する
- 7. ファイルから実行時にクラスを動的に作成する
- 8. ブレンド4 - クラスの変更時に 'クラスからサンプルデータを作成'を再作成
- 9. ListBoxのデザイン時にコントロール配列を作成する方法は?
- 10. Canvas3Dクラスからオブジェクトを作成するには?
- 11. C++で汎用クラスからオブジェクトを作成するには?
- 12. 派生クラスのオブジェクトから仮想クラスを作成せずに基本クラスプロパティを呼び出す
- 13. 名前を知らずにオブジェクトプロパティにアクセスしていますか?
- 14. 実行時にオブジェクトのクラス名を取得する
- 15. 一時ファイルを作成せずにファイルをロックするには?
- 16. 未知数のオブジェクトを作成する
- 17. デザイン時に編集できるコレクションでUserControlを作成するには?
- 18. LocalStorageからすべてのデータを取得する(キー名を知らずに)
- 19. 実行時に動的クラスを作成
- 20. 新しいインスタンスを作成せずにクラスを使用する
- 21. テキストカラーを知らずにテキストカラーと同じリンクカラーを作成しますか?
- 22. コピーを作成せずにNSUserDefaultsのオブジェクトを変更する
- 23. オブジェクトを作成せずに型を解決する
- 24. MySQLテーブルを再作成せずにカラム名を変更する
- 25. デザイン時にDelphi IDEがコンポーネントアイコンを作成しないようにする
- 26. 名前を知らずにpostgresqlのレコードタイプのフィールドにアクセスするには?
- 27. クラスに拡張せずにクラスを作成するときのC++で
- 28. DIデザイン案件を作成するクラスでの挑戦
- 29. C++で新しいオブジェクトを作成せずにクラスから変数を渡すことは可能ですか?
- 30. jquery:オブジェクトにクラス名を追加する