SpringDragon

导航

 

  泛型:指的是泛指的类型,可以将类型在不同的类或者接口中进行传递,类似于传参

  泛型在类中:

    把一个类型做成泛型,可以节省大量的代码

    泛型在类中的作用域仅限于这个类,不允许被继承    

public class Person<T>
{
    public T t;
    public static void show(T tt)
    {
        Console.WriteLine(tt);
    }
}

  泛型在方法中,会根据实参自动匹配T属于什么类型

 public class Text
    {
        public static void Show<T>(T t)
        {

        }
        public static void TTT()
        {
            Show(10);//使用泛型方法
        }
        public static void Show2<T>()
        {

        }
        public static void TT()
        {
            Show2<int>();
        }
    }

  泛型在接口中的应用:

  

 public interface IAddService<T, M>
    {
        void Add(T t, M m);
    }
    public class Demo : IAddService<int, string>
    {

        public void Add(int a, string b)
        {

        }
    }

  泛型限定:

    泛型的约束条件

    关键字:where(表示对一个泛型的约束条件)

    

    class Animal { }
    class Dog : Animal { }
    class HaShiQi : Dog { }
    class Demo<M,T> 
        where M :Animal //必须是Animal或者Animal的子类
        where T : Dog,new()   //new()表示Demo这个类必须提供无参的构造方法
    {

    }

  

posted on 2017-05-06 15:33  chenquanlong  阅读(159)  评论(0编辑  收藏  举报