C# で switch または if ステートメントを使用せずに Enum を処理するにはどうすればよいですか?
例えば
enum Pricemethod
{
Max,
Min,
Average
}
...そして私はクラス記事を持っています
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();
}
}
}
}
switch 文を避けてジェネリックにしたい。
特定の Pricemethod に対して、特定の計算を呼び出して返します。
get { return CalculatedPrice(Pricemethod); }
ここではどのパターンを使用するか、誰かが良い実装のアイデアを持っているかもしれません。すでに状態パターンを検索しましたが、これが正しいとは思いません。