Enums polimórficos para manejo de estado.
¿Cómo manejo las enumeraciones sin usar el interruptor o si las declaraciones en C #?
Por ejemplo
enum Pricemethod
{
Max,
Min,
Average
}
... y tengo un artículo de clase
public class Article
{
private List<Double> _pricehistorie;
public List<Double> Pricehistorie
{
get { return _pricehistorie; }
set { _pricehistorie = value; }
}
public Pricemethod Pricemethod { get; set; }
public double Price
{
get {
switch (Pricemethod)
{
case Pricemethod.Average: return Average();
case Pricemethod.Max: return Max();
case Pricemethod.Min: return Min();
}
}
}
}
Quiero evitar la sentencia de cambio y hacerla genérica.
Para un Pricemethod específico, llame a un Cálculo específico y devuélvalo.
get { return CalculatedPrice(Pricemethod); }
Qué patrón se usa aquí y quizás alguien tenga una buena idea de implementación. Busqué ya por patrón de estado, pero no creo que este sea el correcto.