J'ai une liste d'interface qui stocke une variété d'objets dérivés de cette interface. Je voudrais écrire une fonction où l'appelant spécifie le type à extraire. Je l'ai essayé ceci:Extrait les éléments dérivés d'une liste d'éléments de base
List<IParts> PartList;
...
public List<IPart> Fetch(Type PartType)
{
return this.PartList.OfType<PartType>().Cast<IPart>().ToList();
}
Mais il n'aime pas un type passé. Aucune suggestion?
Nice - certainement un peu plus simple que d'utiliser la réflexion pour obtenir la méthode générique. Probablement plus efficace pour les petites listes et moins efficace pour les grandes listes. Vous pourriez vouloir vérifier la nullité avant d'appeler i.GetType(). –
Là je vais supposer que l'entrée est encore valide. :) –