कोड से पहले कुछ पाठ ताकि प्रश्न सारांश उलटा नहीं जा सके।किसी घटना के लिए किसी को सब्सक्राइब क्यों किया जाना चाहिए?
class Tree
{
public event EventHandler MadeSound;
public void Fall() { MadeSound(this, new EventArgs()); }
static void Main(string[] args)
{
Tree oaky = new Tree();
oaky.Fall();
}
}
मैं सी # में ज्यादा घटनाओं उपयोग नहीं किया है, लेकिन तथ्य यह है कि यह एक NullRefEx का कारण होता है अजीब लगता है। EventHandler संदर्भ को शून्य माना जाता है क्योंकि वर्तमान में इसमें कोई सबस्क्राइबर नहीं है - लेकिन इसका मतलब यह नहीं है कि घटना नहीं हुई है, है ना?
इवेंट हैंडलर मानक प्रतिनिधियों से ईवेंट कीवर्ड द्वारा अलग-अलग होते हैं। भाषा डिजाइनरों ने उन्हें शून्य में चुपचाप क्यों आग नहीं लगाई जब उनके पास कोई ग्राहक नहीं था? (मैं इकट्ठा करता हूं कि आप स्पष्ट रूप से एक खाली प्रतिनिधि जोड़कर इसे मैन्युअल रूप से कर सकते हैं)।
बहुत बढ़िया उदाहरण! उदाहरण के लिए –
भी +1। मुझे लगता है कि एक अकेला जंगल में गिरने से मेडसाउंड आग नहीं होगी। – OregonGhost
जब एक पेड़ जंगल में गिरता है और कोई भी सुन नहीं रहा है, तब भी यह एक आवाज बनाता है - यह कहता है "म्यू" –