Pourquoi ne pas hériter de List<T> en C# ? Alternatives et meilleures pratiques
Bonjour à tous ! Je suis un développeur C# débutant et j'ai rencontré une situation où je dois créer ma propre classe qui se comporte comme une liste, mais avec une logique supplémentaire. Par exemple, je dois stocker une liste de commandes, et je veux que lors de l'ajout d'une nouvelle commande, le montant total soit automatiquement recalculé.
J'ai pensé que le moyen le plus simple était d'hériter de `List` et d'ajouter mes propres méthodes. Voici ce que j'ai obtenu :
```csharp
public class OrderList : List
{
public decimal TotalSum { get; private set; }
public new void Add(Order order)
{
base.Add(order);
TotalSum += order.Price;
}
public new bool Remove(Order order)
{
bool result = base.Remove(order);
if (result)
TotalSum -= order.Price;
return result;
}
}
```
Cela semble fonctionner, mais j'ai lu beaucoup d'articles où il est écrit qu'hériter de `List` est une mauvaise pratique. Pourquoi ? C'est pourtant si pratique ! Si on ne peut pas hériter