假设我有类 animal
和类 cat
和 dog
扩展它。我想按照以下方式做一些事情:
foreach (class a in {cat, dog})
if (a.isValid(parameters))
doStuff();
isValid 是 animal 的静态方法,它只检查给定参数是否定义了给定类型的对象
doStuff 表示我正在做我认为不值得复制的事情
@你在说什么对象?希望我的其他编辑能解决这个问题
我不是从一个对象开始并试图确定它的类型。我从参数开始并尝试决定实例化为哪种动物类型。 所以像 BlueRaja 建议的东西,但不需要构造函数。
我唯一的选择是为每个类使用 switch 语句,这是我想避免的。
谢谢,
J-B
最佳答案
不知道为什么每个人都把它弄得这么复杂
foreach (Animal a in new Animal[] {new Cat(), new Dog()})
if (a.isValid(parameters))
doStuff();
关于c# - 如何在 C# 中创建类列表以在循环中迭代,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2784693/