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

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

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

    下面是个例子:

    Code

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

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

  • 相关阅读:
    Win32应用中创建多窗口
    同时控制多个UIScrollView对象
    在后台代码中设定控件的Visibility
    VC中使用GDI+
    悬垂指针(Dangling pointer)和野指针(Wild pointer)
    在Windows下通过命令行界面编译并生成 .exe
    C++流重定向到文件
    读写文本文件和二进制文件——二进制模式
    使用MahApps.Metro
    WPF之GUI编写
  • 原文地址:https://www.cnblogs.com/Rufy_Lu/p/1397843.html
Copyright © 2011-2022 走看看