C# 逆变、协变
来源:互联网 发布:网络口碑维护 编辑:程序博客网 时间:2024/04/30 03:35
最近看的一些框架,很多封装的泛型委托/接口中,都有写in和out,
了解了这块,逆变和协变。
自定义委托:
//协变:out对于泛型参数类型 标识:该类型是协变的 public delegate TResult FuncOut<out TResult>(); //逆变:in对于泛型参数类型 标识:该类型参数是逆变的 public delegate TResult FuncIn<in TResult>();测试:
//协变:正常 变化 子类到父类的转换 string->object //逆变:非正常变化 父类到子类的转换 object->string FuncOut<string> rf = () => { return "协变"; }; FuncOut<object> rfObj = rf; FuncIn<object> func = () => { return "逆变"; }; FuncIn<string> sfunc = func; //其实逆变最后还是进行了强制转换而已
0 0
- C# 逆变、协变
- C# 4 协变和逆变
- c# 委托 协变和逆变
- c#协变与逆变
- C#逆变与协变
- C#协变与逆变
- C# 中的协变和逆变
- C#中的协变与逆变
- c# 逆变 协变的理解
- C# 协变和逆变
- c#协变-逆变复习
- C#笔记 -- 协变、逆变
- C#笔记 -- 协变、逆变
- C#笔记 -- 协变、逆变
- C# 协变和逆变
- C#的协变和逆变
- C# 逆变与协变
- C# 协变和逆变
- 学无止境,接着学吧
- /dev/null 2>&1
- HBase 在HDFS 上的目录树
- IOS UIWebView不能加载网页的解决方法
- 求两个有序数组的交集
- C# 逆变、协变
- NOIP2016年普及组模拟考试(9.3) 4.部落卫队
- 安卓屏幕宽高分辨率和多次快速点击导致启动多个Activity问题
- Android Sensor代码流程简介
- Eclipse中字母大小写转换快捷键
- python optparse命令解析模块
- 免费开源富文本编辑器推荐
- RxJava响应式编程之初级了解
- freemarker的DatabaseTemplateLoader从数据库中获取模板信息