泛型是一种带有参数数据类型,其参数的数据类型在每次使用时可以改变。泛型是用于不同类型的相同代码的一个模板,也可以说是一个“可变的类型”。比如说,下面就是一个泛型:
class MyClass<DType>
{
public string MyData(DType d1)
{
return d1.ToString();
}
}
{
public string MyData(DType d1)
{
return d1.ToString();
}
}
DType是一个参数,它的值是某个数据类型,使用泛型的时候可以这样实例化对象,MyClass<int> obj_MyClass = new MyClass<int>();此时,DType的值就是int了,例如:
class Program
{
static void Main(string[] args)
{
MyClass<int> obj_MyClass = new MyClass<int>();
Console.WriteLine(obj_MyClass.MyData(2));
Console.Read();
}
}
另外,委托和接口也支持泛型:{
static void Main(string[] args)
{
MyClass<int> obj_MyClass = new MyClass<int>();
Console.WriteLine(obj_MyClass.MyData(2));
Console.Read();
}
}
public delegate void TestDelegate<T>(T input);
Interface ITestGen<T> {}