Jea*_*rin 1 c# oop inheritance class list
假设我有类animal
和类cat
并dog
扩展它.我想做一些事情:
foreach (class a in {cat, dog})
if (a.isValid(parameters))
doStuff();
Run Code Online (Sandbox Code Playgroud)
isValid是一个来自动物的静态方法,它只是检查给定的参数是否定义了给定类型的对象
doStuff意味着我正在做的事情我觉得不值得为
@which对象进行coppying你在说什么?希望我的其他编辑清楚这一点
我不是从一个对象开始并试图确定它的类型.我从参数开始并尝试确定要实例化的动物类型.所以像BlueRaja这样的东西建议,但不需要构造函数.
我唯一的选择是每个类的switch语句,我想避免的.
谢谢,
JB
不知道为什么每个人都这么复杂
foreach (Animal a in new Animal[] {new Cat(), new Dog()})
if (a.isValid(parameters))
doStuff();
Run Code Online (Sandbox Code Playgroud)