随笔分类 -  .NET

.NET 
C#委托学习笔记
摘要:定义C#委托实际上是一种引用类型,它类似函数指针,使我们可以将方法当作参数来传递。本质委托使用简单,然而实际情况却很复杂,只是编译器和CLR做了大量的工作来隐藏它的复杂性。我们看看编译器和CLR如何实现委托创建一个委托 public delegate void DrinkWater(int x);通过Reflector反编译后 internal class DrinkWater : System.MulticastDelegate { //构造器 public DrinkWater(Object object, IntPtr method); ... 阅读全文
posted @ 2012-04-15 18:37 无名小虾 阅读(182) 评论(0) 推荐(0) 编辑
.NET 2.0新特性学习----泛型
摘要:泛型的定义所谓泛型,即通过参数化类型来实现在同一份代码上操作多中数据类型。泛型编程是一种编程范式 ,它利用“参数化类型”将类型抽象化,从而实现更为灵活的复用。泛型的优势源代码保护类型安全清晰的代码性能提高(值类型性能提高显著,引用类型一样)泛型的本质1. 初次编译时,首先生成IL代码和元数据,T只是作为类型占位符,不进行泛型类型的实例化。2. 在进行JIT编译时,将以实际类型替换IL代码和元数据中的T占位符,并将其转换为本地代码,下一次对该泛型类型的引用 将使用相同的本地代码。泛型类型实例化的参数分为值类型和引用类型值类型:JIT编译器会为不同的值类型创建不同的本地代码。引用类型:由于引用类型 阅读全文
posted @ 2012-03-26 16:21 无名小虾 阅读(493) 评论(0) 推荐(0) 编辑