手机
当前位置:查字典教程网 >编程开发 >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# 调用.bat文件的实现代码

c# 托盘双击不触发单击事件的实现方法

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

解决C# winForm自定义鼠标样式的两种实现方法详解

C# 汉字转化拼音的简单实例代码

浅谈c# 泛型类的应用

C#获取进程的主窗口句柄的实现方法

精品推荐
分类导航