Invariance, covariance and contravariance
来源:互联网 发布:卡西.阿弗莱克 知乎 编辑:程序博客网 时间:2024/05/02 18:01
List<string> stringList = new List<string>(); //List<object> objectList = stringList; // No. Invariance Parent p = new Parent(); Test(ref p); Child c = new Child(); //Test(ref c); // No. Parent pc = new Child(); Test(ref pc); Parent pc2 = c; Test(ref pc2); List<string> stringList2 = new List<string>(); IEnumerable<object> objects = stringList2; // C# 4.0 OK covariance /* covariance out only public interface IEnumerable<out T> : IEnumerable * { * IEnumerator<T> GetEnumerator(); * } */ /* contravariance ref ICompareable, IN*/
<pre name="code" class="csharp"> public void Test(ref Parent p) { } public class Parent { } public class Child : Parent { }
留给自已记忆用的~
0 0
- Covariance, Contravariance and Invariance
- Invariance, covariance and contravariance
- Covariance and Contravariance
- Covariance and Contravariance in Java
- 协变(covariance),逆变(contravariance)与不变(invariance)
- .Net 2.0 新功能:委托中的协变与逆变(Covariance and Contravariance in Delegates)
- Covariance and Contravariance in Generics(泛型中的协变和逆变)
- 对协变和逆变的理解(Contravariance and Covariance)
- .NET 4.0 “Covariance”和“Contravariance”趣话
- .NET 4.0 “Covariance”和“Contravariance”趣话
- 协变(Covariance)与逆变(Contravariance)
- Covariance and Contra-variance
- contravariance
- Delegate(委托)中的Covariance(协变)和Contravariance(逆变)
- Covariance Matrices and Data Distributions
- Mean Vector and Covariance Matrix
- covariance
- Covariance
- android下载文本文件
- CF#274 (Div. 2) C.(贪心+排序)
- HDOJ 4725 The Shortest Path in Nya Graph(Dijkstra + 优先队列)
- org.eclipse.birt.report.data.oda.jdbc.JDBCException: Missing properties in Connection.open(Propertie
- nodjs express框架获取参数
- Invariance, covariance and contravariance
- 论互联网中“文笔”的重要性
- C++ Iterator迭代器介绍及Iterator迭代器用法代码举例
- NoSQL开篇——为什么要使用NoSQL
- [Leetcode] Unique Paths
- EJB的学习之旅-1
- HDOJ 题目1548 A strange lift(最短路径Dijkstra)
- hdu-1028 Ignatius and the Princess III 【母函数】
- birt报表汉化的问题