c# - Mediator Helper class in Vb.net -
इस सवाल का पहले से ही एक उत्तर है: < / P>
- 4 जवाब
मैं कोशिश कर रहा हूँ
स्थिर सार्वजनिक वर्ग मध्यस्थ {स्थैतिक IDictionary & lt; स्ट्रिंग, सूची & lt;
निम्न में से शुरू होने वाली सी # के साथ शुरू करना। कार्रवाई के & lt; वस्तु & gt; & gt; & gt; Pl_dict = नया शब्दकोश & lt; स्ट्रिंग, सूची & lt; क्रिया & lt; ऑब्जेक्ट & gt; & gt; & gt; (); स्थिर सार्वजनिक शून्य रजिस्टर (स्ट्रिंग टोकन, एक्शन & lt; ऑब्जेक्ट & gt; कॉलबैक) {यदि (! Pl_dict.ContainsKey (टोकन)) {var list = new list & lt; कार्रवाई & lt; object & gt; & gt; (); list.Add (कॉलबैक); Pl_dict.Add (टोकन, सूची); } और {बूल मिला = गलत; विदेशी मुद्रा (pl_dict [टोकन में] var आइटम) यदि (item.Method.ToString () == callback.Method.ToString ()) पाया = सच; अगर (! मिला) pl_dict [टोकन]। जोड़ें (कॉलबैक); }} स्थिर सार्वजनिक शून्य अनर्जस्टर (स्ट्रिंग टोकन, एक्शन & lt; ऑब्जेक्ट & gt; कॉलबैक) {यदि (pl_dict.ContainsKey (टोकन)) pl_dict [टोकन]। दूर (कॉलबैक); } स्थिर सार्वजनिक शून्य NotifyColleagues (स्ट्रिंग टोकन, ऑब्जेक्ट आर्ग्स) {if (pl_dict.ContainsKey (टोकन)) foreach (var callback pl_dict [token]) कॉलबैक (आर्ग्स); }}
मैं vb में निम्नलिखित के साथ समाप्त होता है (telerik के ऑनलाइन कनवर्टर के सौजन्य से
सार्वजनिक अनन्य वर्गीय मध्यस्थ निजी उप नया () अंत उप शेयर pl_dict आईडीक्रिप्शन के रूप में (स्ट्रिंग की सूची (ऑक्शन की) ()) = नए शब्दकोश (स्ट्रिंग की सूची, सूची (ऑब्जेक्ट का)) () सार्वजनिक साझा उप रजिस्टर (टोकन के रूप में स्ट्रिंग, कॉलबैक एक्शन (ऑब्जेक्ट का) )) यदि नहीं pl_dict.ContainsKey (टोकन) तो मंद सूची = नई सूची (ऑब्जेक्ट की) () की सूची। जोड़ें (कॉलबैक) pl_dict.Add (टोकन, सूची) एल्स दिम बूलियन के रूप में पाया = प्रत्येक आइटम के लिए झूठी यदि आइटम को मिलाया जाता है तो pl_dict (टोकन) के रूप में आइटम। विधि.ToString () = callback.Method.ToString () तब पाया = सच अंत अगर अगले अगर नहीं मिला pl_dict (टोकन)। जोड़ें (कॉलबैक) अंत अगर अंत अगर समापन उप पब्लिक साझा उप अनियंत्रित (टोकन के रूप में स्ट्रिंग, कॉलबैक एक्शन (ऑब्जेक्ट की)) अगर pl_dict.ContainsKey (टोकन) तब pl_dict (टोकन )। (कॉलबैक) समाप्ति यदि अंत उप पब्लिक शेयर किए गए उप अधिसूचना (टीम के रूप में टोकन, ऑब्जेक्ट के रूप में तर्क) अगर pl_dict.ContainsKey (टोकन) तब प्रत्येक कॉलबैक के लिए var के रूप में pl_dict (टोकन) कॉलबैक के रूप में (आर्ग्स) अगली समाप्ति अगर अंत उप एंड क्लास
संकलक प्रत्येक के लिए दो पसंद नहीं करता है & lt; ...> var स्टेटमेंट्स के रूप में मैं मान रहा हूँ कि यह linq c # शैली है जो हमेशा आसानी से अनुवाद करने में बहुत मुश्किल रहा है। यह मेरे पास जाहिरा तौर पर है क्योंकि मैं अभी भी पूरे सिद्धांत को समझने की कोशिश कर रहा हूं। प्रश्न में दो पंक्तियों के लिए कोई उचित निर्माण का सुझाव दे सकता है।
धन्यवाद
वीबी में, var
के समतुल्य प्रकार को निर्दिष्ट करने के बिना केवल चर को घोषित करना है, उदाहरण के लिए:
प्रत्येक कॉलबैक के लिए pl_dict (टोकन) कॉलबैक (आर्ग) अगला
हालांकि, इसके लिए काम करने के लिए, आपके पास होने की आवश्यकता है। वैकल्पिक रूप से, आप बस इटरेटर परिवर्तक के प्रकार को निर्दिष्ट कर सकते हैं जो भी वास्तव में है (इस मामले में, क्रिया (वस्तु का)
), इस तरह से:
प्रत्येक कॉलबैक एक्शन (वस्तु का) pl_dict (टोकन) कॉलबैक (आर्ग्स) में अगला
Comments
Post a Comment