如何在 C# 中不使用 switch 或 if 语句来处理枚举?
例如
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 调用特定的 Calculation 并返回它。
get { return CalculatedPrice(Pricemethod); }
在这里使用哪种模式,也许有人有一个很好的实现想法。已经搜索过状态模式,但我认为这不是正确的。