如果模型属性更改,如何触发事件

时间:2012-11-09 10:28:47

标签: c# .net

我使用backround进程和MVP模式开发应用程序。 我可以在ModelProcess(Model)中存储进程状态(isCanceled,isStarted或isPaused),如下所示:

public event EventHandler CancelChanged;
  bool isCanceled = false;
    public bool IsCanceled
    {
        get { return isCanceled; }
        set
        {
            isCanceled = value;
            if (isCanceled)
            {
                if (CancelChanged != null)
                {
                    CancelChanged(this, EventArgs.Empty);
                }
            }
        }
    }

1 个答案:

答案 0 :(得分:1)

如果CancelChangedisCanceled设置为true,则您的设置者只会致电false,无论之前是set { if (value != isCanceled) { isCanceled = value; if (CancelChanged != null) { CancelChanged(this, EventArgs.Empty); } } } 。以下代码将检查值的实际更改是否为幂等。

{{1}}