役割:
一般的なタイプは、コードの再利用を最大化し、セキュリティ保護の種類や性能を向上させるために使用することができます。最も一般的な用途は、一般的なコレクションクラスを作成することです
図1に示すように、性能は、リスト<object>とList <T>のリスト、リスト<オブジェクト> INTデータ・タイプに追加されたようにパッキング動作が必要とされ、リスト<T>は、int型の直接使用を必要としません。
2、セキュリティの種類。
3、キャストを排除します。
4、バイナリコードの再利用。
まず、ジェネリック:
一般的な方法:あなたが人生の道に関連した方法のグループを指定することができます
ジェネリッククラス:あなたは人生のクラスに関連するクラスのセットを指定することができます
同様に、汎用のために使用することができるインターフェイス、構造体、デリゲート
一般的な方法:
1枚の 静的 ボイドプリントアレイ(T [] inputArray) 2 { 3 のforeach(T T におけるinputArray) 4 Console.Write(T)。 5 }
一般的な制約
1 静的 T最大<T>(Tは、T YをX)T:Iomparable <T> 2 { 3 ...... 4 }
ジェネリッククラス
1 クラススタック<T>:IComparableを<T> 2 { 3 プライベートT []要素と 4 公共Tポップ() 5 { 6 リターン要素[ 1 ]。 7 } 8 9 公共 INT のCompareTo(T他の) 10 { 11 投 新しいNotImplementedException()。 12 } 13 }
第二に、ジェネリックと継承
図1は、ジェネリッククラスから継承することができる非ジェネリッククラス、例えば、オブジェクト・クラスは、それぞれ、一般的な基底クラスまたは間接的にのためのベースクラスです。
2は、ジェネリッククラスはジェネリッククラスを継承することができます
3、非ジェネリッククラスは、ジェネリッククラスから派生することができます。