Khi sử dụng myDelegate -= eventHandler
ReSharper (phiên bản 6) Các vấn đề:"Phép trừ đại biểu có kết quả không thể đoán trước" trong ReSharper/C#?
Đại biểu trừ có kết quả không thể đoán trước
Các hợp lý đằng sau này là explained by JetBrains here. Lời giải thích có ý nghĩa và, sau khi đọc nó, tôi nghi ngờ tất cả việc sử dụng của tôi là -
đối với các đại biểu.
Làm thế nào sau đó,
- tôi có thể viết một sự kiện không tự động mà không làm ReSharper gắt gỏng?
- hoặc, có cách nào tốt hơn và/hoặc "chính xác" để triển khai điều này không?
- hoặc, tôi có thể bỏ qua ReSharper không? đang
đây được đơn giản hóa:
public delegate void MyHandler (object sender);
MyHandler _myEvent;
public event MyHandler MyEvent
{
add
{
_myEvent += value;
DoSomethingElse();
}
remove
{
_myEvent -= value; // <-- ReSharper warning here
}
}
Mono đưa ra cảnh báo tương tự. Đây là mô tả của R # về vấn đề https://confluence.jetbrains.com/display/ReSharper/Delegate+subtraction+has+unpredictable+semantics (chỉ áp dụng cho các danh sách đại biểu) – thoredge