Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

Return all Generic List objects that implement an interface

Tags:

c#

interface

I'm attempting to return all Animal objects that implement IHerd.

Could someone point me in the direction?

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>();
        }
    }
like image 823
J. Mitchell Avatar asked Oct 27 '25 09:10

J. Mitchell


1 Answers

return Animals.OfType<IHerd>().OfType<Animals>()
like image 82
Jahan Zinedine Avatar answered Oct 29 '25 00:10

Jahan Zinedine