C# Assembly.Loadの用途は何ですか。
C#におけるAssembly.Loadメソッドは、アセンブリを動的にロードし、ロードされたアセンブリのメタデータや型情報を格納するAssemblyオブジェクトを返します。この動的アセンブリロード手法により、実行時にアセンブリ内の型やメンバーを必要に応じてロード、インスタンス化、呼び出すことが可能になります。
Assembly.Load メソッドには複数のオーバーロードがありますが、最も一般的に使用されるのはアセンブリ名またはファイルパスで読み込むものです。
- アセンブリ名を指定してロードする:
Assembly assembly = Assembly.Load("AssemblyName");
アセンブリ名はアセンブリの単純名(バージョン番号や公開キー トークンなどの情報は含まない)またはアセンブリの完全な名前のいずれかを使ってアセンブリを読み込むメソッドです。
- ファイルパスの読み込み:
Assembly assembly = Assembly.LoadFrom("path\\AssemblyName.dll");
ファイルパスを指定してアセンブリを読み込みます。パスにはアセンブリファイルの絶対パスまたは相対パスを指定できます。
上記2つの一般的な読み込み方法に加えて、Assembly.Loadメソッドはバイト配列やストリームからアセンブリを読み込むことをサポートし、アセンブリの読み込み方法や権限などを指定するための追加の機能パラメーターを提供します。
Assembly オブジェクトを使用するとアセンブリのメタデータや型情報を取得でき、リフレクションを使用してオブジェクトのインスタンス化、メソッドの呼び出しなどの操作を実行できます。