¿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
No answers yet.
Inicia sesión para dejar una respuesta