请诸位说说自己什么时候才会想到使用泛型类?根据自己的使用经验说说。

解决方案 »

  1.   

    关键是:强制一个集合如IList只能存储同一种类型,这时需要泛型。
      

  2.   

    强制一个集合如IList只能存储同一种类型,这时需要泛型。
      

  3.   

    首先 IList 不是类,而是接口。其次,不知道为什么,很多人喜欢用 IList。
      

  4.   

    使用泛型类有3种情况:
    (1)使用泛型API,比如说,一个库函数,需要传入一个List<T>,或者返回一个KeyValuePair<T1, T2>,人家这么定义的,不得不用。
    (2)继承自一个泛型类或者接口。比如实现一个 IComparer<T>。
    (3)自己定义 API,考虑使用泛型。当不知道客户端需要传入什么类型的时候,有2个选择,一个是用 object,但是 object 是弱类型,另一个选择是使用泛型。看上去泛型更好,其实也不是。一则是泛型的反射更复杂,二来是泛型在C#2 C#3是不支持逆变和协变的,在C#1甚至是不被支持的。出于灵活性和兼容性的考虑不使用泛型。