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

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

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

    下面是个例子:

    Code

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

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

  • 相关阅读:
    mysql整理-常用sql语句
    WAMP中的mysql设置密码
    cmd中输入net start mysql 提示:服务名无效或者MySQL正在启动 MySQL无法启动
    “laravel.log” could not be opened: failed to open stream
    RESTful API 设计指南
    理解RESTful架构
    PHP:API 接口规范完整版本
    php的api接口
    laravel5.5部署
    《面向对象程序设计》课程作业二
  • 原文地址:https://www.cnblogs.com/Rufy_Lu/p/1397843.html
Copyright © 2011-2022 走看看