首页 > Windows开发 > 详细

C#关于泛型

时间:2020-05-31 15:03:25      阅读:42      评论:0      收藏:0      [点我收藏+]

1、泛型(Generic)是c#2.0和通用语言运行时CLR的一个新特性。泛型为.NET的框架引入类型参数(TYPE parameter ),这使得我们在设计类和方法时,不用确定一个或多个具体的参数,其具体的参数可以延迟到客户的代码中去声明和实现。这避免了运行时类型的转换或装箱拆箱操作的性能损耗。

2、泛型的声明:在方法名后面加上<>就是一个泛型方法。

下面附加一段极其简单的代码,说明一下泛型方法的声明以及调用。

技术分享图片

 

 我们在调用泛型方法的时候,需要再调用时在<>里面指明是什么类型。

当然,这种方法在我们方法内部是不安全的,因为我们不知道会传入什么类型,所以,我们可以使用一些约束。

例如:

技术分享图片

 

 

 加了约束之后,我们在调用时,就只能按照约束传参了。这样就提高了安全性。

3、下面图片中可以看一下关于泛型类或者泛型接口的声明

技术分享图片

 

 4、关于泛型的协变与逆变

协变与逆变只能是在泛型接口或者泛型委托中。

我们先声明两个类,分别是Bird, Sparrow:Bird

技术分享图片

 

 在分别定义两个泛型接口分别用in 和out修饰参数接口并实现了他们

技术分享图片

 

 接下来就可以看一下关于协变与逆变的代码编写了

如图以及图中代码备注所示:

技术分享图片

 

C#关于泛型

原文:https://www.cnblogs.com/wzdany/p/12997799.html

(0)
(0)
   
举报
评论 一句话评论(0
关于我们 - 联系我们 - 留言反馈 - 联系我们:wmxa8@hotmail.com
© 2014 bubuko.com 版权所有
打开技术之扣,分享程序人生!