与 C# 1.1 中一样,您可以使用 MethodInfo(以及很多其他选项)进行晚期绑定调用。但是,您为晚期绑定传递的参数的类型,必须与取代一般类型参数而使用的绑定类型(如果有)相匹配: LinkedList list = new LinkedList(); 属性和泛型 在定义属性时,可以使用枚举 AttributeTargets 的新 GenericParameter 值,通知编译器属性应当以一般类型参数为目标: [AttributeUsage(AttributeTargets.GenericParameter)] 请注意,C# 2.0 不允许定义一般属性。 //Does not compile: 然而,属性类可以通过使用一般类型或者定义 Helper 一般方法(像其他任何类型一样)在内部利用泛型: public class SomeAttribute : Attribute 泛型和 .NET Framework 为了对本文做一下小结,下面介绍 .NET 中除 C# 本身以外的其他一些领域如何利用泛型或者与泛型交互。 System.Array 和泛型 System.Array 类型通过很多一般静态方法进行了扩展。这些一般静态方法专门用于自动执行和简化处理数组的常见任务,例如,遍历数组并且对每个元素执行操作、扫描数组,以查找匹配某个条件(谓词)的值、对数组进行变换和排序等等。代码块 11 是这些静态方法的部分清单。 代码块 11. System.Array 的一般方法 public abstract class Array System.Array 的静态一般方法都使用 System 命名空间中定义的下列四个一般委托: public delegate void Action(T t); 代码块 12 演示如何使用这些一般方法和委托。它用从 1 到 20 的所有整数初始化一个数组。然后,代码通过一个匿名方法和 Action 委托,使用 Array.ForEach() 方法来跟踪这些数字。使用第二个匿名方法和 Predicate 委托,代码通过调用 Array.FindAll() 方法(它返回另一个相同的一般类型的数组),来查找该数组中的所有质数。最后,使用相同的 Action 委托和匿名方法来跟踪这些质数。请注意代码块 12 中类型参数推理的用法。您在使用静态方法时无须指定类型参数。 |
正在阅读:C# 最强大的功能--泛型简介C# 最强大的功能--泛型简介
2005-06-23 10:16
出处:
责任编辑:moningfeng
键盘也能翻页,试试“← →”键