LINQ: Rufen Sie aus einer Liste des Typs T nur Objekte einer bestimmten Unterklasse S ab
Eine einfache Vererbungshierarchie vorausgesetzt: Person -> Schüler, Lehrer, Mitarbeiter
Angenommen, ich habe eine Liste von Personen, L. In dieser Liste sind einige Schüler, Lehrer und Mitarbeiter.
Gibt es eine Möglichkeit, mit LINQ und C # eine Methode zu schreiben, mit der nur ein bestimmter Personentyp abgerufen werden kann?
Ich weiß, dass ich etwas machen kann wie:
var peopleIWant = L.OfType< Teacher >();
Aber ich möchte etwas dynamischeres machen können. Ich möchte eine Methode schreiben, die Ergebnisse für jeden erdenklichen Personentyp abruft, ohne für jeden möglichen Typ eine Methode schreiben zu müssen.