VS 2012 中的代码分析工具对我的代码提出了一些问题。大多数都很好,这个(CA1009 正确声明事件处理程序)但是我不明白其中的原因。
如果我不需要任何数据,只是为了知道发生了什么事情,在我看来,我通过使用带有不需要的参数的事件来混淆我的真实意图。
例如,假设我想列出所有符合给定条件的客户。如果我的存储库已更新,我需要重新检查数据。
所以我创建了一个存储库类,然后给它一个带有以下签名的 DataChanged 事件:
public event Action DataChanged;
然后在其中一个使用 repo 的课程中我可以做
repository.DataChanged += UpdateMatchingCustomers;
private void UpdateMatchingCustomers() {
MatchingCustomers = ...
}
为什么这是个坏主意?