我正在尝试返回实现IHerd的所有Animal对象。
有人能指出我的方向吗?
public interface IHerd {
void Herd();
}
public class Dog : Animals, IHerd {
public void Herd() {
// Swim method
}
}
public class Animals {
public void Eat() { }
public void Poop() { }
}
public class Farm {
public List<Animals> FarmAnimals = new List<Animals>();
public Animals GetHerders() {
return FarmAnimals.OfType<IHerd>();
}
}
答案 0 :(得分:2)
FarmAnimals.Where(x => x is IHerd)
答案 1 :(得分:2)
return Animals.OfType<IHerd>().OfType<Animals>()
答案 2 :(得分:1)
return Animals.OfType<IHerd>().Cast<Animals>().ToList();
您还需要更改返回类型以匹配