読者です 読者をやめる 読者になる 読者になる

C#_ジェネリッククラス・メソッドの記述方法

続き。 

ジェネリッククラスをの記述方法

class  クラス名 <型引数>
  where T : 型引数の型が満たすべき条件
{
    //hoge
}

 

ジェネリックメソッドの記述方法

アクセスレベル  戻り値の型  メソッド名 <型引数> (引数リスト)
  where T : 型引数の型が満たすべき条件
{
    //fuga
}

 

型引数の型が満たすべき条件 (制約条件) とは

where で指定した型しか
ジェネリッククラス や ジェネリックメソッドを呼び出せないように
制約をかけることができる。

付加できる条件は5つ

制約付与説明
where T : struct 型 T は「値型
where T : class 型 T は「参照型
where T : new()

引数なしのコンストラクタを持つ。

他の制約条件と同時に課す場合には、
一番最後に指定する。

where T : [base class] 型 T は [base class] で指定された型を継承する。
where T : [interface]

型 T は[interface] で指定されたインターフェースを
実装する。

コンストラクタ:
new した瞬間 ( インスタンスを作成したタイミング ) に実行されるメソッド。

constructor: 建設者
construct:組み立てる、建築する、構成する。

インスタンスを作成することを、インスタンス化するともいう。
インスタンス化とは、ジェネリックなクラス・メソッドに対して
具体的な型を与えること。

 

こちらから。
http://ufcpp.net/study/csharp/sp2_generics.html
http://www.atmarkit.co.jp/ait/articles/0602/11/news011_3.html

 

以上。
色々不明な単語が出てきたが後ほど。