Avatar ·

¿Por qué no deberías heredar de List<T> en C#? Alternativas y mejores prácticas

¡Hola a todos! Soy un desarrollador C# principiante y me encontré con una situación donde necesito crear mi propia clase que se comporte como una lista, pero con lógica adicional. Por ejemplo, necesito almacenar una lista de pedidos, y quiero que al agregar un nuevo pedido se recalcule automáticamente el total. Pensé que la forma más sencilla era heredar de `List` y agregar mis propios métodos. Esto es lo que obtuve: ```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; } } ``` Parece que funciona, pero he leído muchos artículos donde dicen que heredar de `List` es una mala práctica. ¿Por qué? ¡Es tan conveniente! Si no se puede heredar