zoukankan      html  css  js  c++  java
  • c# 协变和逆变的理解

    一下内容全部为自己的理解,不一定正确。

    委托的协变和逆变理解起来真是有点绕,总的来说从委托的声明到执行就是一个投入和产出的过程。

    委托声明就不说了,想想执行吧。

    委托执行的时候 ,  传入的参数列表的值为投入的东西,而返回值就是 产出的东西,结合 基类和派生的关系,派生类可自动转换为基类,

    这样的话,在参数列表传递(参数列表的类型就是委托指定的,)给方法的时候可以转化为这些参数的基类(方法中定义基类参数可实现自动转化),所以委托的参数类型可定义为派生类。

    这就是委托的》》逆变

    在方法 返回值的时候,同样,最终返回的是基类,也就是在返回值的过程中可实现一个 派生类到基类的自动转换过程,定义方法的时候返回值

    为派生类,而委托定义为基类,所以有一个派生类到基类的自动转化。

    这就是委托的》》协变

    在学习的过程中发现 匿名函数 居然不支持 逆变 ,有点匪夷所思

  • 相关阅读:
    vb 退出窗口提示
    游戏开发 简介
    gridview 缓存 优化
    Android中Bitmap和Drawable
    解析网络 xml 流程
    vb 检测是否突然断网
    进度条
    网站广告
    android 五大布局
    VB 读写文件
  • 原文地址:https://www.cnblogs.com/zwqsgff/p/3497227.html
Copyright © 2011-2022 走看看