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

ナビゲーションに移動 検索に移動
3行目: 3行目:
<br><br>
<br><br>


== ライブラリの明示的な読み込み ==
== ライブラリの読み込み ==
==== ライブラリの作成 ====
* Rider
*# [ファイル]メニューバー - [新規作成] - [プロジェクト]を選択する。
*# [新しいプロジェクト]画面にて、[クラスライブラリ(.NET Standard)]、または、[クラスライブラリ(.NET Framework)]を選択する。
*# ソリューション名を入力して、[OK]ボタンを押下する。
*: <br>
* Visual Studio
*# [ファイル]メニューバー - [新規作成] - [プロジェクト]を選択する。
*# [新しいプロジェクト]画面にて、[クラスライブラリ(.NET Standard)]、または、[クラスライブラリ(.NET Framework)]を選択する。
*# ソリューション名を入力して、[OK]ボタンを押下する。
<br>
<syntaxhighlight lang="c#">
// クラスライブラリ
namespace SampleLibrary
{
    public class SampleClass
    {
      public int SampleMethod(int i, int j) => i + j;
    }
}
</syntaxhighlight>
<br>
==== ライブラリの暗黙的な読み込み ====
* Rider
*# 画面左ペインにある[ソリューション]からプロジェクト名を右クリックして、[追加] - [参照...]を選択する。
*# [参照の追加]画面が開くので、[追加(A)...]ボタンを押下して、追加するライブラリファイルを選択する。
*# [OK]ボタンを押下する。
*# 画面左ペインにある[ソリューション]を展開して、<プロジェクト名> - <依存関係> - <.NET バージョン> - <アセンブリ>内にライブラリファイル名が追加される。
*: <br>
* Visual Studio
*# [ソリューションエクスプローラー] - [参照]を右クリックして、コンテキストメニューから[参照の追加]を選択する。
*# [参照マネージャー]画面が開くので、[参照]ボタンを押下して、追加するライブラリファイルを選択する。
*# [参照マネージャー]画面の[参照]にライブラリファイル名が追加される。
*# [OK]ボタンを押下する。
<br>
<syntaxhighlight lang="c#">
using <ライブラリの名前空間名  例: SampleLibrary>;
// クラスライブラリのオブジェクトを生成
// ただし、Staticクラスの場合は生成は不要
var sampleClass = new <ライブラリのクラス名  例: SampleClass>();
// クラスライブラリのメソッドを実行
// <ライブラリのクラス名>.<メソッド名>(引数 1, 引数 2, ...);
sampleClass.SampleMethod();
</syntaxhighlight>
<br>
==== ライブラリの明示的な読み込み ====
ライブラリの明示的な読み込みは、プラグインを設計する場合等に便利である。<br>
ライブラリの明示的な読み込みは、プラグインを設計する場合等に便利である。<br>
<br>
<br>
20行目: 69行目:
         // クラスの完全修飾名(アセンブリ内のクラスの型)を取得
         // クラスの完全修飾名(アセンブリ内のクラスの型)を取得
         // <名前空間名>.<クラス名>
         // <名前空間名>.<クラス名>
        // 上記のサンプルライブラリの場合 --> var sampleType = assembly.GetType("SampleLibrary.SampleClass");
         var sampleType = assembly.GetType("<名前空間名>.<クラス名>");
         var sampleType = assembly.GetType("<名前空間名>.<クラス名>");
   
   
25行目: 75行目:
         {
         {
             // 通常のクラスの場合
             // 通常のクラスの場合
             // 例: コンストラクタへ引数を渡す場合 --> var instance = Activator.CreateInstance(sampleType, <コンストラクタの引数 1>, <コンストラクタの引数 2>, ...);  
             // 例: コンストラクタへ引数を渡す場合 --> var instance = Activator.CreateInstance(sampleType, <コンストラクタの引数 1>, <コンストラクタの引数 2>, ...);
            // 上記のサンプルライブラリの場合 --> var instance = Activator.CreateInstance(sampleType);
             // ただし、Staticクラスの場合は不要
             // ただし、Staticクラスの場合は不要
             var instance = Activator.CreateInstance(sampleType);
             var instance = Activator.CreateInstance(sampleType);
   
   
             // クラスのメソッド名を取得
             // クラスのメソッド名を取得
            // 上記のサンプルライブラリの場合 --> var method = sampleType.GetMethod("SampleMethod");
             var method = sampleType.GetMethod("<メソッド名>");
             var method = sampleType.GetMethod("<メソッド名>");
   
   
36行目: 88行目:
                 // メソッドに引数がある場合
                 // メソッドに引数がある場合
                 // 例: 引数がint, stringの2つ存在する場合 --> var args = new object[] { 5, "hoge" };
                 // 例: 引数がint, stringの2つ存在する場合 --> var args = new object[] { 5, "hoge" };
                // 上記のサンプルライブラリの場合 --> var args = new object[] { 10, 20 };
                 var args = new object[] { <引数1>, <引数2>, ... };
                 var args = new object[] { <引数1>, <引数2>, ... };
   
   
61行目: 114行目:
         }
         }
     }
     }
}
}
  </syntaxhighlight>
  </syntaxhighlight>
<br><br>
<br><br>

案内メニュー