1.引入泛型
2.声明使用泛型
3.泛型好处和原理
4.泛型类型
5.泛型约束
6.协变、逆变
7.泛型缓存
方法声明
public static void Show<T>(T tParam)
{
Console.WriteLine("this is {0},parameter = {1},type = {2}",typeof(GenericMethod),tParam.GetType().Name,tParam.ToString())
}
方法调用
Show<int>(1)
Show<string>("1")
......
泛型约束
public static void Show<T>(T tParam)
where T : Object
{
}
......
说明
延迟声明:把参数类型的声明延迟到方法的调用,不是语法糖,是框架升级提供的功能
编译过程:首先框架编译成 .exe,在JIT将泛型的占位符编译成机器语言
泛型约束可以叠加,更加灵活,例
public static void Show<T>(T tParam)
where T : Object,struct
{
}
......