เมื่อใช้ปัญหา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
}
}