手机
当前位置:查字典教程网 >编程开发 >C#教程 >c#自定义泛型类的实现
c#自定义泛型类的实现
摘要:闲来无事,自己研究了泛型类的简单的使用,where表示泛型约束,表示泛型类型中的参数只能是car类型,IEnumerable是一个接口,一个...

闲来无事,自己研究了泛型类的简单的使用,

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<T> : IEnumerable<T> where T : Car

{

private List<T> Tcars = new List<T>();

//添加

public void AddCar(T t)

{

Tcars.Add(t);

}

//获取其中一个

public T GetCar(int pos)

{

return Tcars[pos];

}

public int Count()

{

return Tcars.Count;

}

#region IEnumerable<T> 成员

public IEnumerator<T> 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<Car> cars = new CarCollection<Car>();

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# winForm自定义鼠标样式的两种实现方法详解

解析C#自定义控件的制作与使用实例的详解

C#使用itextsharp生成PDF文件的实现代码

c# 调用.bat文件的实现代码

C#软件注册码的实现代码

关于c#二叉树的实现

共享锁using范围的实现方法

精品推荐
分类导航