使用myDelegate -= eventHandler
ReSharper(版本 6)时出现问题:
委托减法具有不可预测的结果
JetBrains 在这里解释了这背后的原因。这个解释是有道理的,读完之后,我怀疑我-
对代表的所有使用。
那么如何,
- 我可以在不让 ReSharper 脾气暴躁的情况下编写非自动事件吗?
- 或者,是否有更好和/或“正确”的方法来实现这一点?
- 或者,我可以忽略 ReSharper 吗?
这是简化的代码:
public delegate void MyHandler (object sender);
MyHandler _myEvent;
public event MyHandler MyEvent
{
add
{
_myEvent += value;
DoSomethingElse();
}
remove
{
_myEvent -= value; // <-- ReSharper warning here
}
}