• 设为首页
  • 点击收藏
  • 手机版
    手机扫一扫访问
    迪恩网络手机版
  • 关注官方公众号
    微信扫一扫关注
    迪恩网络公众号

进入快速通道的委托(深入理解c#)

原作者: [db:作者] 来自: [db:来源] 收藏 邀请

1.方法组:所有的名称相同的重载方法合在一起就成为一个方法组。

2.协变性和逆变性:

协变性指的是——泛型类型参数可以从一个派生类隐式转化为基类。

逆变性指的是——泛型类型参数可以从一个基类隐式转化为派生类 。

注意事项:

1. 只有接口和委托支持协变和逆变(如 Fun<out TResult>,Action<in T>),类型或泛型方法的类型参数都不支持协变和逆变。

2.协变和逆变只适用于引用类型,值类型不支持协变和逆变(因为可变性存在一个引用转换,而值类型变量存储的就是变量本身,而不是对象的引用),所以List<int> 无法转化为Ienumerable<object>。

3.必须显示用in或out来标记类型参数。

4.委托的可变性不要在多播委托中使用。

假设一个派生类重载了某个基类中声明的方法,我们打算使用方法组转换创建一个委托的实例。由于c#2中的协变性和逆变性,一个以前只和基类方法匹配的转换,现在也和派生类方法相匹配。在这种情况下,编译器将选择派生类方法。


鲜花

握手

雷人

路过

鸡蛋
该文章已有0人参与评论

请发表评论

全部评论

专题导读
上一篇:
在C#中创建和读取XML文件发布时间:2022-07-13
下一篇:
(C#)Encoding.发布时间:2022-07-13
热门推荐
热门话题
阅读排行榜

扫描微信二维码

查看手机版网站

随时了解更新最新资讯

139-2527-9053

在线客服(服务时间 9:00~18:00)

在线QQ客服
地址:深圳市南山区西丽大学城创智工业园
电邮:jeky_zhao#qq.com
移动电话:139-2527-9053

Powered by 互联科技 X3.4© 2001-2213 极客世界.|Sitemap