从 Josh Smith 文章中复制RelayCommand的代码时,我复制了以下代码
public event EventHandler CanExecuteChanged
{
add { CommandManager.RequerySuggested += value; }
remove { CommandManager.RequerySuggested -= value; }
}
然后在阅读了关于 SO 的这个答案之后,我还在我的课堂上复制了来自 Prism 的 DelegateCommand 类的代码。
protected void NotifyCanExecuteChanged()
{
if (CanExecuteChanged != null)
{
CanExecuteChanged(this, EventArgs.Empty);
}
}
但是他在 NotifyCanExecuteChanged 方法中给了我一个错误
事件 'CanExecuteChanged' 只能出现在 += 或 -= 的左侧
如果我从事件中删除添加和删除重载,则不会出现此错误。有人可以帮我理解这背后的原因吗?