.DLL ファイルをロードし、その中のクラスからメソッドにアクセスしますか? 質問する

.DLL ファイルをロードし、その中のクラスからメソッドにアクセスしますか? 質問する

このようなライブラリの読み込みにはまったく慣れていないのですが、私の立場は次のとおりです。

自作の DLL ファイルがあります。これは、クラス自体とメソッドだけという、非常にシンプルなものです。このライブラリをロードするホーム プログラムには、次のものがあります。

Assembly testDLL = Assembly.LoadFile("C:\\dll\\test.dll");

ここから、ちょっと行き詰まってしまいました。私の知る限りでは、名前を変更するとエラーが発生するので、正しく読み込まれています。

ここから何をすればいいですか? クラスとその中のメソッドを正確にロードするにはどうすればいいですか?

ありがとう。

ベストアンサー1

Assembly.GetTypes()すべてのタイプのコレクションを取得するか、Assembly.GetType(name)特定のタイプを取得するために使用します。

次に、 を使用してパラメーターなしのコンストラクターを持つ型のインスタンスを作成するActivator.CreateInstance(type)か、 を使用してコンストラクターを取得しType.GetConstructors、それらを呼び出してインスタンスを作成できます。

Type.GetMethods()同様に、などを使用してメソッドを取得できます。

基本的に、型が決まったら、できることはたくさんあります。メンバーリスト詳細については、 をご覧ください。特定のタスクを実行しようとして行き詰まった場合 (ジェネリックは扱いにくい場合があります)、具体的な質問をしてください。きっとお手伝いできると思います。

おすすめ記事