2006-08-07

C# 2.0中泛型编程思想分析

来源: CSDN 作者:shadow 评论 0 条
 T一般来说是不能适应所有类型,但怎样限制调用者传入的数据类型呢?这就需要对传入的数据类型进行约束,约束的方式是指定T的祖先,即继续的接口或类。因为C#的单根继续性,所以约束可以有多个接口,但最多只能有一个类,并且类必须在接口之前。这时就用到了C#2.0的新增要害字:
public class Node<T, V> where T : Stack, IComparable
where V: Stack
{...}
  以上的泛型类的约束表明,T必须是从StackIComparable继续,V必须是Stack或从Stack继续,否则将无法通过编译器的类型检查,编译失败。
  通用类型T没有特指,但因为C#中所有的类都是从object继续来,所以他在类Node的编写中只能调用object类的方法,这给程序的编写造成了困难。比如你的类设计只需要支持两种数据类型intstring,并且在类中需要对T类型的变量比较大小,但这些却无法实现,因为object是没有比较大小的方法的。了解决这个问题,只需对
共12页: 上一页 [1] [2] [3] [4] [5] 6 [7] [8] [9] [10] [11] [12] 下一页
(本文仅表明作者个人观点,不代表本站及其管理员立场.) 推荐 收藏 投稿 打印 返回 关闭
上一篇:JSP/Servlet的重定向技术综述  
下一篇:C#结合串口通信类实现串口通信源代码
    评论加载中…
 推荐文章
     

网站首页  -  网站地图 -   站长论坛  -  网站投稿  -    -  网站管理
Copyright © 2008 芜湖站长站 All Rights Reserved 皖ICP备07500611号