備忘録
- ジェネリック:public class <T> ←こんなやつ。型だけが異なるものを共通化にして使うこと
// ジェネリッククラス
public class keyValue <T> where T: class IEntity
{
private T? _value;
}
- タイプセーフ:あらゆるデータに「型」が存在し、コンパイル時あるいは実行時にそれが厳格にチェックされること
- 型が保証されない。型変換が必要
- ボックス化:値型からobject型に変換するプロセス。負荷が大きい
// Tが型パラメータ 使う人が型を決める ジェネリック型
public class keyvalue<T>
{
public T value {get; set;}
}
- 型パラメータの説明的な名前にはTという接頭辞を付ける
- 制約:Tは本物であることをコンパイラに伝えること
- object型としてクラスの中では使えない
public class keyValueA <T> where T :制約(Formとか)
制約がFormの場合、TはFormかFormを派生しているものしか使えない。
![[備忘録] C#のジェネリックについて学びました](https://suzuka22.com/wp-content/uploads/2025/11/S__60669954.jpg)