当前位置:  编程技术>.net/c#/asp.net

c#自定义泛型类的实现

    来源: 互联网  发布时间:2014-10-21

    本文导语:  闲来无事,自己研究了泛型类的简单的使用,where表示泛型约束,表示泛型类型中的参数只能是car类型,IEnumerable是一个接口,一个集合要支持FOREAch遍历,必须实现IEnumerable接口 代码如下:public class Car    {        public strin...

闲来无事,自己研究了泛型类的简单的使用,
where表示泛型约束,表示泛型类型中的参数只能是car类型,IEnumerable是一个接口,一个集合要支持FOREAch遍历,
必须实现IEnumerable接口
代码如下:

public class Car
    {
        public string PetName;
        public int Speed;
        public Car(string name, int currentSpeed)
        {
            PetName = name;
            Speed = currentSpeed;
        }
        public Car() { }
    }
    public class CarCollection : IEnumerable where T : Car
    {
        private List Tcars = new List();
        //添加
        public void AddCar(T t)
        {
            Tcars.Add(t);
        }
        //获取其中一个
        public T GetCar(int pos)
        {
           return Tcars[pos];
        }
        public int Count()
        {
            return Tcars.Count;
        }
        #region IEnumerable 成员
        public IEnumerator GetEnumerator()
        {
            return Tcars.GetEnumerator();
        }
        #endregion
        #region IEnumerable 成员
        System.Collections.IEnumerator System.Collections.IEnumerable.GetEnumerator()
        {
            return Tcars.GetEnumerator();
        }
        #endregion
    }

代码如下:

 private void button1_Click(object sender, EventArgs e)
        {
            Car car1 = new Car("one", 150);
            Car car2= new Car("two", 50);
            Car car3 = new Car("three", 150);
            CarCollection cars = new CarCollection();
            cars.AddCar(car1);
            cars.AddCar(car2);
            cars.AddCar(car3);
            MessageBox.Show(cars.Count().ToString());
            foreach (Car item in cars)
            {
                MessageBox.Show(item.PetName+"--"+item.Speed.ToString());
            }
        }

    
 
 

您可能感兴趣的文章:

  • C#实现自定义双击事件
  • 如何实现C#自定义结构的强制转换
  • C#通过反射创建自定义泛型
  • C#自定义控件添加右键菜单的实现代码
  • C#使用yield关键字让自定义集合实现foreach遍历的方法
  • Visual C#类的定义及实现方法实例解析
  • C# Form自定义光标的简单实现
  • C#常用自定义函数小结
  • 提取html中文字 C#自定义函数
  • C# .NET自定义类实现伪静态页面的代码
  • C#学习笔记之用户定义类(或结构)的类型转换
  • c# 自定义泛型链表类的详解
  • 深入解析c#中枚举类型的定义与使用
  • C#定义并实现单链表实例解析
  • C#自定义函数NetxtString生成随机字符串
  • C#中HashTable的定义与使用方法
  • 解决C# winForm自定义鼠标样式的两种实现方法详解
  • C#用户定义类型转换详解
  • C#实现ProperTyGrid自定义属性的方法
  • 解析C#自定义控件的制作与使用实例的详解
  • c++通用模板类(template class)定义实现详细介绍
  • linux怎样实现自定义指令"cd -n"
  • oracle异常(预定义异常,自定义异常)应用介绍 iis7站长之家
  • 菜鸟提问:一个类实现了一个接口,除了要定义接口的所有方法外,可不可以再添加其他方法?
  • 自定义标签实现圆角边框
  • jQuery自定义事件的简单实现代码
  • 如何跟踪进入C++定义实现的文件中?
  • java 重定义数组的实现方法(与VB的ReDim相像)
  • php实现的太平洋时间和北京时间互转的自定义函数分享
  • php自定义函数实现美国时间转为北京时间
  • 在JAVA中的抽象类中有必要定义抽象方法吗?我直接在它的子类中定义并实现这个方法不一样吗?
  •  
    本站(WWW.)旨在分享和传播互联网科技相关的资讯和技术,将尽最大努力为读者提供更好的信息聚合和浏览方式。
    本站(WWW.)站内文章除注明原创外,均为转载、整理或搜集自网络。欢迎任何形式的转载,转载请注明出处。












  • 相关文章推荐
  • java命名空间java.awt类radialgradientpaint的类成员方法: getradius定义及介绍
  • 请问可以用宏定义定义一个二维数组吗?
  • java命名空间javax.xml.stream类xmlinputfactory成员方法: seteventallocator定义参考
  • 想修改路径定义,想找到在哪里定义的,应该怎么办?
  • java命名空间java.text接口attributedcharacteriterator的类成员方法: getallattributekeys定义及介绍
  • php定义数组和使用示例(php数组的定义方法)
  • java命名空间java.beans接口propertyeditor的类成员方法: supportscustomeditor定义及介绍
  • 上次问题解决了,原来是extern被重定义了。。。天阿,关键字也可以被重定义。。。。。欢迎接分
  • java命名空间javax.swing类jtextarea的类成员方法: getcolumnwidth定义及介绍
  • 如何定义一个可变参数的自定义函数
  • java命名空间javax.swing类jtextfield的类成员方法: getcolumnwidth定义及介绍
  • 下面的变量我都下了定义,为什么还出现没定义的信息
  • java命名空间javax.swing类actionmap的类成员方法: allkeys定义及介绍
  • oracle异常(预定义异常,自定义异常)应用介绍
  • java命名空间javax.swing类inputmap的类成员方法: allkeys定义及介绍
  • 为什么我在头文件time.h里找不到time_t的定义呢?只有这个定义typedef __time_t time_t;
  • java命名空间javax.rmi.corba接口valuehandler的类成员方法: iscustommarshaled定义及介绍
  • 函数有定义怎么提示没有低能定义的错误呢?
  • java命名空间javax.swing类jcomponent的类成员方法: resetkeyboardactions定义及介绍
  • android自定义控件和自定义回调函数步骤示例
  • java命名空间java.beans接口customizer的类成员方法: setobject定义及介绍
  • 自定义公共类的装载,包的定义


  • 站内导航:


    特别声明:169IT网站部分信息来自互联网,如果侵犯您的权利,请及时告知,本站将立即删除!

    ©2012-2021,,E-mail:www_#163.com(请将#改为@)

    浙ICP备11055608号-3