什么时候使用泛型类?高手请进,诸位讨论下。 请诸位说说自己什么时候才会想到使用泛型类?根据自己的使用经验说说。 解决方案 » 免费领取超大流量手机卡,每月29元包185G流量+100分钟通话, 中国电信官方发货 关键是:强制一个集合如IList只能存储同一种类型,这时需要泛型。 强制一个集合如IList只能存储同一种类型,这时需要泛型。 首先 IList 不是类,而是接口。其次,不知道为什么,很多人喜欢用 IList。 使用泛型类有3种情况:(1)使用泛型API,比如说,一个库函数,需要传入一个List<T>,或者返回一个KeyValuePair<T1, T2>,人家这么定义的,不得不用。(2)继承自一个泛型类或者接口。比如实现一个 IComparer<T>。(3)自己定义 API,考虑使用泛型。当不知道客户端需要传入什么类型的时候,有2个选择,一个是用 object,但是 object 是弱类型,另一个选择是使用泛型。看上去泛型更好,其实也不是。一则是泛型的反射更复杂,二来是泛型在C#2 C#3是不支持逆变和协变的,在C#1甚至是不被支持的。出于灵活性和兼容性的考虑不使用泛型。 用LinqToSql还是用存储过程 Bitmap支持最大的jpg 如何使用sqldmo备份还原数据库 高手进来看看怎么解决这问题? 急 連接access數據庫插入一條語句時出現"準則運算式的資料類型不符合。" picturebox 中的图片怎么获得它的属性(高度,宽度),以及图片数据 如何处理SQL中单引号的问题 谁能帮忙给我解释一下这段代码啊,感谢 这两个函数有错吗? 请推荐一下Silverlight教程 C# 中把JPG格式的图片转换为BMP格式的 位深度必须是24位的 怎么弄啊 关于 c# 调用c动态dll
(1)使用泛型API,比如说,一个库函数,需要传入一个List<T>,或者返回一个KeyValuePair<T1, T2>,人家这么定义的,不得不用。
(2)继承自一个泛型类或者接口。比如实现一个 IComparer<T>。
(3)自己定义 API,考虑使用泛型。当不知道客户端需要传入什么类型的时候,有2个选择,一个是用 object,但是 object 是弱类型,另一个选择是使用泛型。看上去泛型更好,其实也不是。一则是泛型的反射更复杂,二来是泛型在C#2 C#3是不支持逆变和协变的,在C#1甚至是不被支持的。出于灵活性和兼容性的考虑不使用泛型。