zoukankan      html  css  js  c++  java
  • 泛型接口 (二)

    前面讲了泛型接口的好处,现在讨论一下接口中的泛型类型的参数:

    首先:我们可以把一个泛型类型的参数约束为多个接口:

    下面是个例子:

    Code

    实际上,这样做好处很多,比喻说,在定义一个方法的参数时,参数的类型指出传递的实参必须是该参数的类型,或者从其派生的类型,如果参数类型是接口,这就表明实参可以是任何一类类型,只要该类实现了这个接口。使用多个接口约束,实际上是让方法指出传递的实参必须实现多个接口。事实上,如果我们将T约束为一个类和两个接口,那就表示传入的实参类型必须是指定基类(或其派生类),而且它还必须实现两个接口。这种灵活性,允许方法实际指定调用方法能传递什么,如果调用方法不满足这些约束,会产生编译错误。

    其次,我们对接口有了约束,在传递值类型是,减少装箱操作。实际上,对于接口约束,C#编译器会生成特定的IL指令,这些指令将导致直接在值类型上调用接口方法,不对其进行装箱。

  • 相关阅读:
    一天搞懂深度学习--深度学习简介
    Ubuntu16.04下安装Hive
    Ubuntu16.04下安装Hadoop
    Hive入门学习--HIve简介
    循环神经网络(RNN)--学习笔记
    如何使用GitHub
    python pandas import 失败
    Azure ARM VM内部关机了,但门户却显示虚拟机还在处在“正在运行”的状态
    Exchange 2010 与 RMS(集成权限管理服务)集成
    统计 Exchange 2010 时间段收发邮件总量
  • 原文地址:https://www.cnblogs.com/Rufy_Lu/p/1397843.html
Copyright © 2011-2022 走看看