在C#中,如何使用不同类型的对象创建IEnumerable< T>类
例如:
Public class Animals { Public class dog{} Public class cat{} Public class sheep{} }
我想做一些事情:
Foreach(var animal in Animals) { Print animal.nameType }
解决方法
另一种方法,如果你想要一个命名集合(而不是使用List< T>):
// animal classes public class Animal { public String Name { get; set; } public Animal() : this("UnkNown") {} public Animal(String name) { this.Name = name; } } public class Dog : Animal { public Dog() { this.Name = "Dog"; } } public class Cat : Animal { public Cat() { this.Name = "Cat"; } } // animal collection public class Animals : Collection<Animal> { }
执行:
void Main() { // establish a list of animals and populate it Animals animals = new Animals(); animals.Add(new Animal()); animals.Add(new Dog()); animals.Add(new Cat()); animals.Add(new Animal("Cheetah")); // iterate over these animals foreach (var animal in animals) { Console.WriteLine(animal.Name); } }
在这里,你延伸了Collection<T>
的基础,它实现了IEnumerable< T> (所以foreach和其他迭代方法可以从中工作).
原文地址:https://www.jb51.cc/csharp/97364.html
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。