Avatar ·

Pourquoi ne pas hériter votre classe de List<T> en C# ?

Bonjour à tous ! Je suis un développeur C# débutant et j'ai rencontré un problème de conception. Je développe une application de gestion de bibliothèque. J'ai une classe `Book` (livre) et je veux créer une classe `Library` qui contiendrait une liste de livres et aurait ses propres méthodes, par exemple `FindByAuthor()` ou `GetTotalPages()`. Au début, j'ai pensé que le plus logique était simplement d'hériter de `List` : ```csharp public class Library : List { public List FindByAuthor(string author) { return this.Where(b => b.Author == author).ToList(); } public int GetTotalPages() { return this.Sum(b => b.Pages); } } ``` Cela semble fonctionner, mais j'ai lu sur Stack Overflow que c'est une mauvaise pratique. Les gens écrivent qu'"il ne faut pas hériter de List". Mais je ne comprends pas bien pourquoi ? Pourtant, c'est si pratique — on obtient immédiatement toutes les méthodes de la liste (Add, Remove, indexeur, etc.). Mon code devient court et élégant. Pouvez-vous expliquer avec des exemples en quoi cela