क्या किसी को पता है कि डायनामिक लैंग सुविधाओं का उपयोग कर इंडेक्सर के माध्यम से सीएलआर ऑब्जेक्ट पर विधि कॉल करना संभव है? उदाहरण के लिए, myClrObj["SuperMethod"]()
जो मैं आसानी से जावास्क्रिप्ट में कर सकता हूं।सी # गतिशील सूचकांक
अग्रिम धन्यवाद।
क्या किसी को पता है कि डायनामिक लैंग सुविधाओं का उपयोग कर इंडेक्सर के माध्यम से सीएलआर ऑब्जेक्ट पर विधि कॉल करना संभव है? उदाहरण के लिए, myClrObj["SuperMethod"]()
जो मैं आसानी से जावास्क्रिप्ट में कर सकता हूं।सी # गतिशील सूचकांक
अग्रिम धन्यवाद।
वहाँ बेहतर तरीके हो सकते हैं, लेकिन एक तरह से मैं जानता हूँ कि चाहते हैं इसे कैसे करना है:
DynamicObject
एक एक्सटेंशन विधि प्रदान करें जो आपके ऑब्जेक्ट को गतिशील दिखाई देता है, सही डायनामिक ऑब्जेक्ट स्पेशलिज़ के साथ एक प्रतिनिधि प्रदान करता है जो एक प्रतिनिधि को बनाता है और कैश करता है एटियन तत्काल
dynamic obj = myObj.AsIndexedObj(); obj["Do"]();
आप ImpromptuInterfsce nuget के माध्यम से उपलब्ध इस्तेमाल कर सकते हैं, यह सरल गतिशील नाम से एक विधि कॉल करने के बनाने के लिए डीएलआर एपीआई लपेटता, दोनों गतिशील और पोको वस्तुओं के लिए काम करता है। पोको वस्तुओं के लिए प्रतिबिंब से तेज़।
Impromptu.InvokeMember(myClrObj,"SuperMethod")
ग्रेट विचार, लेकिन यह फिट नहीं है। मेरे पास मौजूदा कक्षाएं हैं जो गतिशील नहीं हैं। – AndrewG
आपको अपनी ऑब्जेक्ट्स को डायनामिक ऑब्जेक्ट से प्राप्त करने की आवश्यकता नहीं है। इसके बजाय, एक एडाप्टर का कुछ बनाएं जो आपके मूल ऑब्जेक्ट की ओर से गतिशील रूप से इंटरैक्ट करता है। इसका लाभ यह है कि यह कई प्रकार के ऑब्जेक्ट में पुन: प्रयोज्य हो जाता है – flq