返回实现接口的所有通用列表对象

J. *_*ell 4 c# interface

我试图返回所有实现 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>();
        }
    }
Run Code Online (Sandbox Code Playgroud)

Jah*_*ine 5

return Animals.OfType<IHerd>().OfType<Animals>()
Run Code Online (Sandbox Code Playgroud)