C#泛型编程
来源:互联网 发布:linux查看snmp 编辑:程序博客网 时间:2024/06/05 05:09
传送门:C#泛型编程
关键内容:
C#泛型机制
C#泛型能力有CLR在运行时支持:C#泛型代码在编译为IL代码和元数据时,采用特殊的占位符来表示范型类型,并用专有的IL指令支持泛型操作。而真正的泛型实例化工作以“on-demand”的方式,发生在JIT编译时。
C#泛型特点
1、如果实例化泛型类型的参数相同,那么JIT编辑器会重复使用该类型,因此C#的动态泛型能力避免了C++静态模板可能导致的代码膨胀的问题。
2、C#泛型类型携带有丰富的元数据,因此C#的泛型类型可以应用于强大的反射技术。
3、C#的泛型采用“基类、接口、构造器,值类型/引用类型”的约束方式来实现对类型参数的“显示约束”,提高了类型安全的同时,也丧失了C++模板基于“签名”的隐式约束所具有的高灵活性
总结
1、C#的泛型能力由CLR在运行时支持,它既不同于C++在编译时所支持的静态模板,也不同于Java在编译器层面使用“擦拭法”支持的简单的泛型。
2、C#的泛型支持包括类、结构、接口、委托四种泛型类型,以及方法成员。
3、C#的泛型采用“基类,接口,构造器,值类型/引用类型”的约束方式来实现对类型参数的“显式约束”,它不支持C++模iii板那样的基于签名的隐式约束。
- C#泛型编程
- C#泛型编程
- C#泛型编程
- c# 泛型编程
- c# 泛型编程
- C#泛型编程
- C#泛型编程
- C# 泛型编程
- C#泛型编程
- C# 泛型编程
- C#泛型编程
- C#泛型编程
- C#泛型编程
- C#泛型编程
- C#泛型编程
- C#泛型编程
- C#泛型编程
- C#泛型编程
- C# 泛型编程二
- 汉化版植物大战僵尸修改器
- 使用itext组件生成PDF文件
- Some Books About Linux
- .Net垃圾回收机制原理详细介绍(二)
- C#泛型编程
- python中单,双引号和三个双引号的区别
- C++ STL map的使用
- WeakReference(弱引用)
- java:throw,throws,try和catch
- 黑马程序员——————java中的枚举
- Qt界面美化 QSS
- 关于var关键字及其反编译
- Oracle体系结构总览(整理)