■ 例1
Program.cs
using System;
namespace GenericDemo1
{
class uArrayList<DATA>
{
DATA[] value;
int dataNum = 0;
public uArrayList(int max)
{
value = new DATA[max];
}
public void add(DATA val)
{
try
{
if (dataNum < value.Length)
{
value[dataNum] = val;
dataNum++;
}
else
{
throw new IndexOutOfRangeException("Index value exceeded");
}
} catch (Exception e) {
Console.WriteLine("Error : " + e);
}
}
public void display()
{
int i = 1;
foreach (DATA val in value)
{
Console.WriteLine(i + " : " + val);
i++;
}
}
}
class Program
{
static void Main(string[] args)
{
uArrayList<int> obj1 = new uArrayList<int>(2);
obj1.add(100);
obj1.add(150);
obj1.display();
uArrayList<string> obj2 = new uArrayList<string>(2);
obj2.add("India");
obj2.add("U.S.A");
obj2.display();
Console.Read();
}
}
}
■ 例2
Program.cs
using System;
namespace GenericDemo2
{
class General<T, U>
{
T[] itemOne;
U[] itemTwo;
int counter = 0;
public General(int max)
{
itemOne = new T[max];
itemTwo = new U[max];
}
public void add(T value1, U value2)
{
try
{
if (counter < itemOne.Length)
{
itemOne[counter] = value1;
itemTwo[counter] = value2;
counter++;
}
else
{
throw new IndexOutOfRangeException("Index value exceeded");
}
}
catch (Exception e)
{
Console.WriteLine("Error : " + e);
}
}
public void disp()
{
foreach (T value in itemOne)
{
Console.WriteLine("id : " + value);
}
foreach (U value in itemTwo)
{
Console.WriteLine("Name : " + value);
}
}
}
class Employee
{
static void Main(string[] args)
{
General<int, string> obj = new General<int, string>(4);
obj.add(1, "Ryuken");
obj.add(2, "Kenshiro");
obj.add(3, "Raou");
obj.add(4, "Toki");
obj.disp();
Console.Read();
}
}
}