क्षमा आवश्यकता है, यह सी # का एक मिश्रण है और VB.Netकैसे AddressOf ठीक प्रतिनिधि त्रुटि के एक आराम बातचीत
2 प्रतिनिधियों के साथ साथ एक सी # वर्ग है:
public delegate string GetSettingDelegate(string key);
public event GetSettingDelegate GetSettingEvent;
public delegate void SetSettingDelegate(string key, string value);
public event SetSettingDelegate SetSettingEvent;
एक वीबी में वर्ग मैं इस घटना के लिए संचालकों जोड़ें:
AddHandler _gisCtrl.SetSettingEvent, AddressOf SetSetting
AddHandler _gisCtrl.GetSettingEvent, AddressOf GetSetting
जब मैं कोशिश करते हैं और हटाने संचालकों:
RemoveHandler _gisCtrl.SetSettingEvent, AddressOf SetSetting
RemoveHandler _gisCtrl.GetSettingEvent, AddressOf GetSetting
SetSetting ठीक है लेकिन GetSetting एक चेतावनी फेंकता है:
AddressOf अभिव्यक्ति इस संदर्भ में कोई प्रभाव नहीं है क्योंकि AddressOf को विधि तर्क घटना के delagate प्रकार के एक आराम बातचीत की आवश्यकता है।
यहाँ तरीकों
Private Sub SetSetting(ByVal key As String, ByVal value As String)
KernMobileBusinessLayer.[Global].Settings.SetValue(key, value)
End Sub
Private Function GetSetting(ByVal key As String)
Return KernMobileBusinessLayer.[Global].Settings.GetString(key)
End Function
किसी भी विचार है कि यह कैसे तय करने के लिए कर रहे हैं और क्यों यह पहली जगह में फेंक दिया जाता है? 2 प्रतिनिधि/घटनाएं/विधियां इतनी अच्छी लगती हैं कि मुझे नहीं पता कि कोई ठीक क्यों है और कोई चेतावनी फेंकता है।
ऊपर परिभाषित अनुसार GetSetting(), वस्तु को वापस नहीं करेगा, स्ट्रिंग नहीं। मुझे लगता है कि अधिकतम सही है। – rskar
कंपाइलर को इस तरह की गलतियों को पकड़ने के लिए विकल्प सख्त ऑन का उपयोग करें। –