对.NET平台中泛型技术的探究
2010-09-21韩志强
赤峰学院学报·自然科学版 2010年11期
关键词:方法
韩志强
(赤峰学院计算机科学与技术系,内蒙古赤峰024000)
对.NET平台中泛型技术的探究
韩志强
(赤峰学院计算机科学与技术系,内蒙古赤峰024000)
随着项目变得日益复杂,需要用一个更好的方式来重用和定制现有的软件.为了促进代码重用,尤其是算法的重用,在.NET 2.0以后支持一个名为泛型的特性.方法因为能获得参数而强大.同理,泛型的主旨就是类会因为能获取“类型”参数而变的强大.泛型类使用泛型类型,可以根据需要用特定的类型替换泛型类型,从而在保证了类型安全性的基础上,同时提高了系统性能.泛型不仅限于类,而且还可用于委托、接口和方法等.由此,我们可以体会到泛型是一个强大的特性议.
.NET平台;Object类;泛型;泛型约束
1 为什么引入泛型
若在.NET 2.0以前要创建一个灵活的类或方法,但该类或方法在编译期间不知道使用什么类,就必须以object类为基础,而object类在编译期间没有类型安全性,而且性能也会降低.在这里我们来分析一个没使用泛型的类——System.Collections.Stack.它的作用是表示一个对象集合,使加入集合的最后一项作为从集合中获取的第一项(即后进先出).我们在使用该类时,其收集的是object类型的变量.由于CLR中每个对象都是从object派生的,所以Stack无法验证放在其中的元素是不是你希望的类型.除此之外,若从中获取数据时,必须将返回值转型为我们需要的类型,否则会引发异常.如果我们要使Stack类能支持多个数据类型时,假如不使用泛型,那么根本的问题……
登录APP查看全文