CLR笔记:16.泛型2011-10-26 博客园 包建强泛型:支持值类型和引用类型,不支持枚举。没有泛型属性。泛型的好处:源代码保护。使用泛型算法不需要访问算法的源码——相对于C++模板类型安全——相对于ArrayList更加清晰的源码——不需要拆箱,显示转换更佳的性能——不用装箱。测试:循环1000万次,泛型List<T>与ArrayList分别用时0.1s和 2s16.1 FCL中的泛型List<T> 取代ArrayListDirectory<TKey, TValue>取代HashTableStack<T>,Queue<T>分别取代Stack,QueueIList,IDirectory,ICollection,IEnumerator,IEnumerable,IComparer,IComparable分别由相 应的泛型接口(加上<T>)16.3 泛型基础结构这一节的前言很有意思:如何在已有的CLR中添加泛型:创建新的IL泛型指令修改元数据格式,以支持泛型参数/类型/方法修改各种语言C#/VB.NET修改编译器csc,使之生成新的IL泛型指令/元数据修改JITer,使之可以处理新的IL泛型指令创建新的反射成员:泛型参数/类型/方法修改调试器修改vs2005智能感知