网站导航免费论文 原创论文 论文搜索 原创论文 网学软件 学术大家 资料中心 会员中心 问题解答 原创论文 论文素材 设计下载 最新论文 下载排行 论文上传 在线投稿 联系我们
返回网学首页
网学联系
最新论文 推荐专题 热门论文 素材专题
当前位置: 网学 > 编程文档 > C# > 正文
白话C#:泛型
来源:Http://myeducs.cn 联系QQ:点击这里给我发消息 作者: 用户投稿 来源: 网络 发布时间: 12/10/14
下载{$ArticleTitle}原创论文样式
14: {
  15:     public decimal Overdraft { get; set; }
  16:  
  17:     public CreditCard(int length, int width, int thickness)
  18:         : base(length, width, thickness)
  19:     {
  20:     }
  21: }

通过上面的代码可以看出,在创建派生自WalletThingBase类的所有类的时候,都会先检验其尺寸是否超标,如果是尺寸过大就不允许创建,也就表示你不能把它放进你的钱包。显然,银行卡尽管规格各异,但都是可以的。

接下来,我们就要来设计钱包这个类了。我们可以借助List<T>来简化我们的设计工作,最需要注意的其实就是严格把关,凡是非WallThingBase派生类都不允许进入,另外,还得简单提供一些放东西和取东西的函数,这样,一个基本的钱包就设计出来了。

   1: public class Wallet<T> : CollectionBase
   2: {
   3:     public Wallet()
   4:     {
   5:         Type baseType = typeof(T).BaseType;
   6:  
   7:         while (baseType != null
   8:             && baseType != typeof(Object)
   9:             && baseType.BaseType != typeof(Object))
  10:         {
  11:             baseType = baseType.BaseType;
  12:         }
  13:  
  14:         if (baseType != typeof(WalletThingBase))
  15:         {
  16:             throw new Exception(typeof(T).ToString() + " cannot be put into wallet.");
  17:         }
  18:     }
  19:  
  20:     public T this[int index]
  21:     {
  22:         get { return (T)List[index]; }
  23:         set { List[index] = value; }
  24:     }
  25:  
  26:     public int Add(T item)
  27:     {
  28:         return List.Add(item);
  29:     }
  30:  
  31:     public void Remove(T item)
  32:     {
  33:         List.Remove(item);
  34:     }
  35: }

泛型是一种很具有亲和力的语言特性,很容易让人接受也很容易让人喜欢上它,借助泛型的便利,尽情享受C#开发乐趣吧!

  • 上一篇资讯: 白话C#:多线程
  • 下一篇资讯: 白话C#:接口
  • 网学推荐

    免费论文

    原创论文

    浏览:
    设为首页 | 加入收藏 | 论文首页 | 论文专题 | 设计下载 | 网学软件 | 论文模板 | 论文资源 | 程序设计 | 关于网学 | 站内搜索 | 网学留言 | 友情链接 | 资料中心
    版权所有 QQ:3710167 邮箱:3710167@qq.com 网学网 [Myeducs.cn] 您电脑的分辨率是 像素
    Copyright 2008-2015 myeducs.Cn www.myeducs.Cn All Rights Reserved
    湘ICP备09003080号