小编slo*_*ker的帖子

用于状态处理的多态Enum

如何在不使用C#中的switch或if语句的情况下处理枚举?

例如

enum Pricemethod
{
    Max,
    Min,
    Average
}
Run Code Online (Sandbox Code Playgroud)

......我有一篇文章

 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();
            }

        }
    }

}
Run Code Online (Sandbox Code Playgroud)

我想避免使用switch语句并使其成为通用语句.

对于特定的Pricemethod,请调用特定的计算并将其返回.

get { return CalculatedPrice(Pricemethod); }
Run Code Online (Sandbox Code Playgroud)

这里使用的模式可能有人有一个很好的实现想法.已经搜索了状态模式,但我不认为这是正确的.

c# polymorphism enums design-patterns strategy-pattern

6
推荐指数
2
解决办法
3280
查看次数

如何在运行时更改WPF窗口内容

我有一个带有四个按钮的窗口来添加,搜索,删除和更新数据库查询.

单击其中一个按钮后,我打开一个新窗口,其中包含针对这些功能的特定WPF控件.

如何在不打开新窗口的情况下执行此操作?一切都应该在一个窗口中发生,只有WPF控件应该更改,并且代码背后.单击"返回"或"执行"后,我想返回主窗口.

wpf model-view-controller controls mvvm

0
推荐指数
1
解决办法
7896
查看次数