摘要: 2.2接口约束为了规定某个数据类型必须实现某个接口,需要声明一个接口约束(interfaceconstraint).有了这种约束之后,甚至不需要执行类型转换,就可以调用一个显示的接口成员实现.为了确保T类型参数都是先了IComparable接口,publicclassBinarywhereT:System.IComparable{...}编译器会确保每次使用Binary类的时候,都必须指定一个实现了IComparable接口的类型参数.2.3struct/class约束另一个重要的泛型约束是将类型参数限制为一个值类型或者一个引用类型.编译器不允许在一个约束中将System.ValueType指 阅读全文
posted @ 2013-06-30 11:57 幕三少 阅读(813) 评论(0) 推荐(0) 编辑
摘要: 1.泛型概念: 本质上,术语”泛型”指的是”参数化类型(parameterizedtypes)”.参数化类型非常重要,因为它们可以在创建类.结构.方法和委托的时候将要操作的数据类型作为参数进行指定.使用参数化类型的类.结构.方法和委托都可以称为泛型,如”泛型类”或者”泛型方法”. 在具体声明一个变量或者实例化之前,类型参数T只是一个占位符。等到具体声明和实例化的时候,编译器要求代码指定类型参数。泛型类型声明了泛型参数占位符类型,由泛型类型的用户填写这些占位符,并作为泛型的参数提供给泛型类型.2.泛型约束:约束声明了泛型要求的类型参数的特征。 为了声明一个约束,需要使用where关键... 阅读全文
posted @ 2013-06-30 08:19 幕三少 阅读(1743) 评论(3) 推荐(1) 编辑