如何在C#中创建一个类列表以循环迭代

Jea*_*rin 1 c# oop inheritance class list

假设我有类animal和类catdog扩展它.我想做一些事情:

foreach (class a in {cat, dog})  
    if (a.isValid(parameters))  
      doStuff();
Run Code Online (Sandbox Code Playgroud)

isValid是一个来自动物的静态方法,它只是检查给定的参数是否定义了给定类型的对象
doStuff意味着我正在做的事情我觉得不值得为
@which对象进行coppying你在说什么?希望我的其他编辑清楚这一点
我不是从一个对象开始并试图确定它的类型.我从参数开始并尝试确定要实例化的动物类型.所以像BlueRaja这样的东西建议,但不需要构造函数.

我唯一的选择是每个类的switch语句,我想避免的.

谢谢,
JB

Blu*_*eft 5

不知道为什么每个人都这么复杂

foreach (Animal a in new Animal[] {new Cat(), new Dog()})  
    if (a.isValid(parameters))  
        doStuff();
Run Code Online (Sandbox Code Playgroud)