2011-01-17 13 views
9

मैं सी # में प्रोग्रामिंग करने के लिए इस्तेमाल कर रहा हूँ, और एक बात मैं जावा के बारे में याद आती है है कि यह सी # के अच्छा बिल्ट-इन ईवेंट से निपटने क्षमताएं होती हैं प्रतीत नहीं होता:कार्यान्वयन सी # एंड्रॉयड/जावा में होने वाली घटनाओं की तरह

// define event signature 
public delegate void SomeEventHandler(); 

class SomeEventGenerator { 
    // define subscribable event property 
    public event SomeEventHandler SomeEvent; 

    protected void OnSomeEvent() { 
     if (SomeEvent != null) { 
      SomeEvent(); 
     } 
    } 
} 

class SomeEventClient { 
    public SomeEventClient(SomeEventGenerator eg) { 
     // subscribe 
     eg.SomeEvent += new SomeEventHandler(eg_SomeEvent); 
     // do some stuff 
     // unsubscribe 
     eg.SomeEvent -= new SomeEventHandler(eg_SomeEvent); 
    } 

    private void eg_SomeEvent() { 
     // handle event 
    } 
} 

जावा/एंड्रॉइड में कुछ समान और हल्के वजन प्राप्त करने का सबसे अच्छा तरीका क्या है जिसमें एकाधिक ईवेंट क्लाइंट की सदस्यता लेने/सदस्यता समाप्त करने की क्षमता है और सभी सब्सक्राइब किए गए क्लाइंट को एक बार में कॉल करने की क्षमता है?

उत्तर

6

आप जावा में श्रोताओं की अवधारणा को देखना चाहते हैं। मुझे एक जावा डेवलपर परिप्रेक्ष्य से "सी # नामक एक बहुत अच्छा लेख मिला" जिसे आप देखना चाहते हैं।

http://www.25hoursaday.com/CsharpVsJava.html

+0

तो आपको इसे स्वयं करना है। उस लेख में घटनाओं के बारे में एक छोटा सा अनुभाग है जिसे मैंने उपयोगी पाया। मैंने 'वेक्टर <ऑनसोमइवेंट लिस्टनर>' द्वारा समर्थित कुछ 'ऑनसोमइवेंट लिस्टनर' इंटरफेस, और 'एड लिस्टनर'/'निकालें लिस्टनर'/'कॉललिस्टर्स' विधियों को स्थापित किया है। – jnylen

+0

यह एक अच्छा लेखन है। लिंक के लिए धन्यवाद। –

संबंधित मुद्दे