ジェネリッククラスやディクショナリークラスの型パラメータ
今回の例だと普通にジェネリック使えばよさそうだけど、インデクサ(setやget)が実装できるので、この辺りに処理が挟めむケースとかなら便利かもしれない。
class Program { public class ListTest<T> { T[] list = new T[100]; int add; public void AddItem(T item) { list[add++] = item; } public T this[int Index] { get { return list[Index]; } set { list[Index] = value; } } } static void Main(string[] args) { // string型の配列を作成 ListTest<string> list = new ListTest<string>(); list.AddItem("hogehoge"); list.AddItem("fugafuga"); Console.WriteLine(list[0]); Console.WriteLine(list[1]); // DataTime型の配列を作成 ListTest<DateTime> list2 = new ListTest<DateTime>(); list2.AddItem(DateTime.Today); Console.WriteLine(list2[0]); // 普通にジェネリッククラスで作ってみる List<DateTime> list3 = new List<DateTime>(); list3.Add(DateTime.Today); Console.WriteLine(list3[0]); } }
出力
hogehoge fugafuga 2015/08/30 0:00:00 2015/08/30 0:00:00