「ライブラリの基礎 - C Sharp DLL」の版間の差分

📢 Webサイト閉鎖と移転のお知らせ
このWebサイトは2026年9月に閉鎖いたします。
新しい記事は移転先で追加しております。(旧サイトでは記事を追加しておりません)

4行目: 4行目:


== ライブラリの明示的な読み込み ==
== ライブラリの明示的な読み込み ==
ライブラリの明示的な読み込みは、プラグインを設計する場合等に便利である。<br>
<br>
  <syntaxhighlight lang="c#">
  <syntaxhighlight lang="c#">
  using System;
  using System;
13行目: 15行目:
     {
     {
         // ライブラリを読み込む
         // ライブラリを読み込む
         // ライブラリ名だけを記述する場合、実行バイナリと同階層のディレクトリにライブラリが存在すること
         // ライブラリ名のみを記述する場合、実行バイナリと同階層のディレクトリにライブラリが存在すること
         Assembly assembly = Assembly.LoadFrom("<ライブラリ名 または ライブラリのパス>");
         var assembly = Assembly.LoadFrom("<ライブラリ名 または ライブラリのパス>");
   
   
         // クラスの完全修飾名(アセンブリ内のクラスの型)を取得
         // クラスの完全修飾名(アセンブリ内のクラスの型)を取得
23行目: 25行目:
         {
         {
             // 通常のクラスの場合
             // 通常のクラスの場合
             // 例: コンストラクタへ引数を渡す場合 --> var instance = Activator.CreateInstance(sampleType, <コンストラクタの引数 1>, <コンストラクタの引数 2>);  
             // 例: コンストラクタへ引数を渡す場合 --> var instance = Activator.CreateInstance(sampleType, <コンストラクタの引数 1>, <コンストラクタの引数 2>, ...);  
             // ただし、Staticクラスの場合は不要
             // ただし、Staticクラスの場合は不要
             var instance = Activator.CreateInstance(sampleType);
             var instance = Activator.CreateInstance(sampleType);
42行目: 44行目:
   
   
                 // Staticクラスの場合、Invokeメソッドの第1引数はnullを指定する
                 // Staticクラスの場合、Invokeメソッドの第1引数はnullを指定する
                // 例1: メソッドに引数が存在しない場合      --> var result = method.Invoke(null, null);
                // 例2: メソッドに引数と戻り値が存在しない場合 --> method.Invoke(null, null);
                 var result = method.Invoke(null, args);
                 var result = method.Invoke(null, args);