myDelegate -= eventHandler
ReSharper (6 संस्करण) मुद्दों का उपयोग करते समय:"रेसर्पर/सी # में" प्रतिनिधि घटाव का अप्रत्याशित परिणाम है "?
प्रतिनिधि घटाव अप्रत्याशित परिणाम
तर्कसंगत इसके पीछे explained by JetBrains here है। स्पष्टीकरण समझ में आता है और, इसे पढ़ने के बाद, मैं प्रतिनिधियों पर -
के अपने सभी उपयोगों पर संदेह कर रहा हूं।
कैसे तो,
- मैं ReSharper गुस्सैल बनाने के बिना एक गैर ऑटो घटना लिख सकता है?
- या, क्या इसे लागू करने के लिए एक बेहतर और/या "सही" तरीका है?
- या, क्या मैं बस रीशेपर को अनदेखा कर सकता हूं?
यहाँ सरल है कोड:
public delegate void MyHandler (object sender);
MyHandler _myEvent;
public event MyHandler MyEvent
{
add
{
_myEvent += value;
DoSomethingElse();
}
remove
{
_myEvent -= value; // <-- ReSharper warning here
}
}
मोनो एक ही चेतावनी देता है। यहां समस्या का आर # का विवरण है https://confluence.jetbrains.com/display/ReSharper/Delegate+subtraction+has+unpredictable+semantics (जो केवल प्रतिनिधियों की सूचियों पर लागू होता है) – thoredge