C# 协变out 、逆变 in
2016-03-24 16:31
183 查看
需求:泛型使用多态性
备注:协变逆变只能修饰 接口和委托
简单理解:
1.使用 in 修饰后为逆变,只能用作形参使用 ,参考 public delegate void Action<in T>(T obj);
2.使用 out 修饰后为协变,只能用于返回值,参考 public delegate TResult Func<out TResult>();
其他资料链接:http://www.cnblogs.com/LoveJenny/archive/2012/03/13/2392747.html
备注:协变逆变只能修饰 接口和委托
简单理解:
1.使用 in 修饰后为逆变,只能用作形参使用 ,参考 public delegate void Action<in T>(T obj);
2.使用 out 修饰后为协变,只能用于返回值,参考 public delegate TResult Func<out TResult>();
其他资料链接:http://www.cnblogs.com/LoveJenny/archive/2012/03/13/2392747.html
相关文章推荐
- C#解leetcode 53.Maximum Subarray
- C#解leetcode 152. Maximum Product Subarray
- C#入门经典学习笔记 <chapter06 函数>
- C#页面反射
- C#获取URL中的参数
- C# 自定义控件 属性个人遇到问题详解 参数无效
- 理解C#生成验证码的过程
- C#进阶系列 WebApi身份认证解决方案推荐:Basic基础认证
- C#关于OpenText()new StreamReader() 进程被占用的问题.
- C# WinForm创建包含备注的快捷方式实例
- C#中保留两位小数但不四舍五入的最优做法
- 【转】探索C#之布隆过滤器(Bloom filter)
- C#进阶系列——WebApi身份认证解决方案:Basic基础认证
- C# XML 添加,修改,删除Xml节点
- C# Color值转换为unit
- C# 保存窗口为图片(保存纵断面图)
- C#学习之接口
- C# partial 详解
- C# 对List<T>取交集、连集及差集
- C#创建、安装一个Windows服务