c# 委托 协变和逆变
2010-02-21 16:28
267 查看
using System; using System.Collections.Generic; using System.Text; namespace ConsoleApplication1 { class x { public int val;} class y : x { } delegate x ChangeIt (y obj); class CoContraVariance { public static x incrA(x obj) { x tem = new x(); tem.val = obj.val + 10; return tem; } public static y incrB(y obj) { y temp = new y(); temp.val = obj.val + 1; return temp; } } class Program { static void Main(string[] args) { y yob = new y(); ChangeIt change = CoContraVariance.incrA; x xob = change(yob); Console.WriteLine("Xob:" + xob.val); change = CoContraVariance.incrB; yob = (y)change(yob); Console.WriteLine("yob:" + yob.val); yob = (y)change(yob); Console.WriteLine("yob:" + yob.val); Console.Read(); } } }
相关文章推荐
- C# 语言特性系列(1) 委托 - 协变和逆变
- C#委托及其有趣的协变、逆变
- C#中委托的匿名方法,及其在协变与逆变中的应用
- 委托中的协变和逆变(C# 编程指南)
- C#深入学习:泛型修饰符in,out、逆变委托类型和协变委托类型
- C#- -委托中的协变与逆变(变我没商量)
- C# 委托之协变和逆变
- c#打包文件解压缩 C#中使用委托、接口、匿名方法、泛型委托实现加减乘除算法 一个简单例子理解C#的协变和逆变 对于过长字符串的大小比对
- 委托中的协变和逆变(C# 编程指南)
- 委托中的协变和逆变(C# 编程指南)
- 委托中的协变和逆变(C# 编程指南)
- <转>C# 4.0 为泛型编程引入了 协变 和 逆变 支持,这是个不错的福利,能省掉以往的一些麻烦。不过当前(Beta2)仅支持泛型接口和泛型委托。
- <转>C# 4.0 为泛型编程引入了 协变 和 逆变 支持,这是个不错的福利,能省掉以往的一些麻烦。不过当前(Beta2)仅支持泛型接口和泛型委托。
- C#笔记 -- 协变、逆变
- C# 2010协变和逆变的新特性
- C# 协变和逆变
- 委托的协变与逆变
- C# 泛型的协变和逆变
- C# 逆变与协变
- 委托的匿名方法,以及在协变与逆变中的应用