2011-01-13 14 views
6

संभव डुप्लिकेट के बीच का अंतर है:
Should I Create a New Delegate Instance?सी #: क्या SomeEvent + = विधि और SomeEvent + = नए प्रतिनिधि (विधि)

हाय, मैं जवाब के लिए खोज की कोशिश की है इसके लिए, लेकिन वास्तव में नहीं जानते कि कौन से शब्द खोजना चाहते हैं, और साइट-सुझाए गए प्रश्नों में से कोई भी प्रासंगिक नहीं है। मुझे यकीन है कि यह पहले से पहले जवाब दिया जाना चाहिए।

मूल रूप से, किसी को मुझे बता सकते हैं क्या सी # में इन दो पंक्तियों के बीच का अंतर है:

SomeEvent += SomeMethod 
SomeEvent += new SomeDelegate(SomeMethod) 

उदाहरण के लिए:

DataContextChanged += App_DataContextChanged; 
DataContextChanged += new DependencyPropertyChangedEventHandler(App_DataContextChanged); 

वे दोनों एक ही बात करने के लिए लग रहे हैं।

उत्तर

9

वे एक ही हैं। दूसरा संस्करण Method group conversion नामक पहले के लिए सिर्फ एक शॉर्टेंड है।

सीधे शब्दों में कहें

, संकलक infers क्या प्रतिनिधि के प्रकार के घटना के ही प्रतिनिधि प्रकार का उपयोग कर रहा है। अगर मुझे गलत नहीं लगता है तो यह सी # 2.0 में पेश किया गया था।

5

वे एक ही बात करते हैं। भिन्नता

SomeEvent += new SomeDelegate(SomeMethod) 

इसे सी # 1.0, 1.1 में लिखने का एकमात्र तरीका था। 2.0 के बाद से आप सरलीकरण के रूप में अन्य विकल्प लिख सकते हैं।

3

दोनों एक ही हैं।

SomeEvent += new SomeDelegate(SomeMethod) 

क्या हुड के नीचे होता है यानी SomeDelegate निर्माता वस्तु का एक उदाहरण बनाने के लिए कहा जाता है का उल्लेख है।

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