LINQ: From a list of type T, retrieve only objects of a certain subclass S
问题 Given a simple inheritance hierarchy: Person -> Student, Teacher, Staff Say I have a list of Persons, L. In that list are some Students, Teachers, and Staff. Using LINQ and C#, is there a way I could write a method that could retrieve only a particular type of person? I know I can do something like: var peopleIWant = L.OfType< Teacher >(); But I want to be able to do something more dynamic. I would like to write a method that will retrieve results for any type of Person I could think of,