Fondamentalement, j'utilise un ORM (en particulier LLBLGen) qui crée des objets d'entité pour toutes mes tables. Tous ces types d'entités héritent d'une classe de base (ou vraiment un ensemble d'entre eux). Je veux créer une méthode d'extension qui accepte une liste de la classe de base et retourne une chaîne de caractères mais je veux transmettre des types hérités sans lancer explicitement.Utilisation de listes génériques de types de base et de types hérités
Par exemple, j'ai une fonction comme:
string GetString(List<EntityBase2> list); // also tried List<IEntityCore>, which the base class implements
Et je veux transmettre quelque chose comme ceci:
List<ProductEntity> products = ... // populate it
string v = GetString(products);
Mais je reçois des erreurs du compilateur.
Comment puis-je accomplir la création de cette méthode d'assistance. Je veux éviter de lancer si je peux mais si c'est le meilleur moyen alors au moins je pourrais avoir une confirmation à ce sujet.