C# -- 泛型

目录

                                                           泛型种类

                                      泛型中的静态字段和静态方法


 

Generic ==>  泛型  ==> 泛型类,泛型方法

示例:泛型类

 public class GenericHelper<T> where T : IComparable //类型参数的约束 让T一定有 CompareTo 方法 ==>也就是继承了IComparable接口的类
    {
       
    }

泛型方法 :

public T CompareTo<T>(T target1, T target2) where T : IComparable  //类型参数的约束 让T一定有 CompareTo 方法 使得函数不报错
        {
            if (target1.CompareTo(target2) > 0)
            {
                return target1;
            }

            return target2;
        }

重点 : T 就是 类型参数 

                                                           泛型种类

根据类型参数是否提供实参,将泛型分为 未绑定泛型已构造泛型

未绑定泛型:没有为 类型参数 T 提供实际类型;

已构造泛型: 已经指定了 参数类型 T 的实际类型;

 

已构造泛型  又可以细分为  开放类型 密封类型

开放类型 : 包含类型参数的泛型

密封类型  :  已经为每一个类型参数都传递了实际数据类型的泛型

示例:判断是密封类型还是开放类型

C# -- 泛型

值得注意的是  ContainsGenericParameters 直白翻译就是 存在泛型参数

C# -- 泛型

                                      泛型中的静态字段和静态方法