.NET Framework 中的泛型
更新:2007 年 11 月
泛型使您可以按照泛型操作的精确的数据类型定制方法、类、结构或接口。例如,您可以使用 Dictionary<TKey, TValue> 泛型类并指定允许的键类型和允许的值类型,而不使用允许任何键类型和值类型的 Hashtable 类。泛型的优点包括提高的代码可重用性和类型安全性。
在 .NET Framework 中,在 System.Collections.Generic 和 System.Collections.ObjectModel 命名空间中提供了很多泛型集合类。System 命名空间中提供了实现排序和相等比较的泛型接口以及事件处理程序、转换和搜索谓词的泛型委托类型。
对泛型的支持已添加到 System.Reflection 中以检查泛型类型和泛型方法,添加到 System.Reflection.Emit 中以发出包含泛型类型和方法的动态程序集,添加到 System.CodeDom 中以生成包括泛型的源关系图。
Visual Basic、C# 和 Visual C++ 提供了对定义和使用泛型类型的完全支持。公共语言运行库在 Microsoft 中间语言 (MSIL) 中提供了新的操作码和前缀来支持泛型类型。
本节内容
.NET Framework 中的泛型概述
描述泛型功能、泛型功能带给 .NET Framework 的功能以及泛型功能在公共语言运行库中公开的方式。.NET Framework 中的泛型集合
在 .NET Framework 中描述泛型集合类和其他泛型类型。用于操作数组和列表的泛型委托
描述用于转换、搜索谓词以及要对数组或集合的元素进行的操作的泛型委托。泛型接口
描述在整个泛型类型系列中提供通用功能的泛型接口。泛型的优点和限制
总结使用泛型的优点和限制。
参考
System.Collections.Generic
将 .NET Framework 提供的大部分泛型集合类型(如 List<T> 和 Dictionary<TKey, TValue> 泛型类)编入目录。System.Collections.ObjectModel
将其他用于向类的用户公开对象模型的泛型集合类型(如 ReadOnlyCollection<T> 泛型类)编入目录。OpCodes
添加了新的操作码和前缀(包括 Stelem、Ldelem、Unbox_Any、Constrained 和 Readonly)以支持泛型。
相关章节
常用的集合类型
提供有关 .NET Framework 中的集合类型(包括泛型类型)的特征和使用方案的摘要信息。何时使用泛型集合
描述确定何时使用泛型集合类型的一般规则。反射类型和泛型类型
解释如何使用反射检查泛型类型和方法。如何:定义具有反射发出的泛型类型
解释如何生成包括泛型类型和方法的动态程序集。Visual Basic 中的泛型类型
向 Visual Basic 用户描述泛型功能,包括有关使用和定义泛型类型的帮助主题。泛型介绍(C# 编程指南)
向 C# 用户提供定义和使用泛型类型的概述。Overview of Generics in C++
向 C++ 用户描述泛型功能,包括泛型和模板之间的差异。