泛型的定义和使用

泛型的定义和使用

ID:37852291

大小:313.31 KB

页数:8页

时间:2019-06-01

泛型的定义和使用_第1页
泛型的定义和使用_第2页
泛型的定义和使用_第3页
泛型的定义和使用_第4页
泛型的定义和使用_第5页
资源描述:

《泛型的定义和使用》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、泛型泛型是具有占位符(类型参数)的类、结构、接口和方法【T为委托类型】,这些占位符是类、结构、接口和方法所存储或使用的一个或多个类型的占位符。泛型集合类可以将类型参数用作它所存储的对象的类型的占位符;类型参数作为其字段的类型和其方法的参数类型出现。泛型方法可以将其类型参数用作其返回值的类型或者其形参的类型之一。publicclassGeneric{publicTField;泛型类中的字段和方法必须是T类型}创建泛型在创建泛型类的实例时,会指定实际类型来替换类型参数。这会建立一个新的泛型类,称为构造泛型类,选定的类型将替换所有出现的类型参数。最后得到按照您选择的类型定制

2、的类型安全的类,如下面的代码所示。Genericg=newGeneric();g.Field="Astring";泛型类型定义泛型类型定义”是用作模板的类、结构或接口声明,其中具有该类、结构或接口声明可以包含或使用的类型的占位符。例如,Dictionary类可以包含两种类型:键和值。因为它只是一个模板,您不能创建作为泛型类型定义的类、结构或接口的实例。泛型类型参数”或称“类型参数”是泛型类型或方法定义中的占位符。Dictionary泛型类型具有两个类型参数:TKey和TValue,分别表示其键和值的类型泛型类型参数“构造泛型类型”或称“构造类

3、型”是为泛型类型定义的泛型类型参数指定类型得到的结果。“泛型类型参数”是替换泛型类型参数的任何类型。一般术语“泛型类型”包括构造类型和泛型类型定义。“约束”是加在泛型类型参数上的限制。例如,可以将类型参数限制为实现IComparer泛型接口的类型以确保可以对该类型的实例进行排序。还可以将类型参数限制为具有特定基类的类型、具有默认构造函数的类型或是引用类型或值类型。泛型类型的用户不能替换不满足这些约束的类型参数。泛型方法定义“泛型方法定义”是具有两个参数列表的方法:一个泛型类型参数列表和一个形参列表。类型参数可以作为返回类型或形参的类型出现,如下面的代码所示。TGeneric

4、(Targ){Ttemp=arg;...}泛型方法泛型方法可以出现在泛型或非泛型类型上。需要注意的是,并不是只要方法属于泛型类型,或者甚至是方法的形参的类型是封闭类型的泛型参数,就可以说方法是泛型方法。只有当方法具有它自己的类型参数列表时,才能称其为泛型方法。在下面的代码中,只有方法G是泛型方法。refclassA{genericTG(Targ){...};};genericrefclassGeneric{TM(Targ){...};};泛型嵌套类型和泛型嵌套于泛型类型中的类型依赖于封闭泛型类型的类型参数,公共语言运行库将这样的嵌套类型视为

5、泛型,即使它们没有自己的泛型类型参数。在创建嵌套类型的实例时,需要为所有封闭泛型类型指定类型参数。

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。