मैं सी # 4.0 के साथ आने वाली सभी नई उपहारों को सीखने की कोशिश कर रहा हूं। मैं DynamicObject
और ExpandoObject
प्रकारों के बीच अंतर को समझने में असफल रहा हूं। ऐसा लगता है कि DynamicObject
का उपयोग किया जाता है उदा। जब आप COM/Office ऑब्जेक्ट्स के साथ बात करते समय पाइथन स्क्रिप्ट्स और ExpandoObject
से चर का उपयोग करना चाहते हैं। क्या मैं सही हू? उनके उपयोग में क्या अंतर है?सी # 4.0 गतिशील बनाम Expando ... वे कहाँ फिट बैठते हैं?
उत्तर
विस्तार dynamic
रनटाइम पर कौन से सदस्यों को जोड़ा जा सकता है (या हटाया जा सकता है) टाइप करें। dynamic
को पाइथन और जावास्क्रिप्ट जैसे गतिशील टाइपिंग भाषाओं के साथ इंटरफेसिंग करते समय .NET को प्रकारों के साथ इंटरऑपरेट करने की अनुमति देने के लिए डिज़ाइन किया गया है।
इसलिए, यदि आप एक गतिशील प्रकार को प्रबंधित करने की जरूरत है: dynamic
का उपयोग करें और यदि आप इस तरह XML या JSON के रूप में गतिशील डेटा को संभालने की जरूरत है:
एक expando की घोषणा का उपयोग ExpandoObject
गतिशील और expando बीच संबंध को दर्शाता :dynamic expando = new ExpandoObject();
और एक नया संपत्ति को जोड़ने की क्षमता:
expando.SomeNewStringVal = "Hello World!";
कोड की अंतिम पंक्ति एक नया स्ट्रिंग समर्थक बनाता है यही कारण है कि विस्तारित ऑब्जेक्ट में perty SomeNewStringVal
कहा जाता है। स्ट्रिंग प्रकार असाइनमेंट से अनुमानित है।
तो एक विस्तार एक गतिशील डेटा प्रकार है जो गतिशील रूप से बदलते डेटा का प्रतिनिधित्व कर सकता है। यह संक्षेप में है। Here's a deeper look at dynamic and expando।
पूरा उदाहरण:
using System;
using System.Dynamic;
class Program
{
static void Main(string[] args)
{
dynamic expando = new ExpandoObject();
expando.SomeNewStringVal = "Hello Brave New Whirrled!";
Console.WriteLine(expando.SomeNewStringVal);
// more expando coolness/weirdness:
var p = expando as IDictionary<String, object>;
p["A"] = "New val 1";
p["B"] = "New val 2";
Console.WriteLine(expando.A);
Console.WriteLine(expando.B);
}
}
वह यह, मैं स्वीकार कर लिया है हालांकि लगता है कि ओपी गतिशील ऑब्जेक्ट और ExpandoObject के बीच अंतर था। – nawfal
बस यह ध्यान में रखना वास्तविक दुनिया में समय पर काम में आता है। मैंने एक्सएमएल या जेसन को क्रमबद्ध करने से पहले डायनामिक प्रतिक्रिया ऑब्जेक्ट्स बनाने के लिए इसे एपीआई का उपयोग किया। इस तरह मैं स्पष्ट गुणों के एक टन को परिभाषित किए बिना अलग-अलग संपत्ति नामों के साथ उप-वर्ग जोड़ सकता हूं। "समूहएल 1": [{"ग्रुपिंग एल 2 :: [{... – user2326106
[' डायनामिक ऑब्जेक्ट'] (https://docs.microsoft.com/en-us/dotnet/api/system.dynamic.dynamicobject?view=netframework- 4.7) unaddressed छोड़ दिया गया था। एमएसडीएन: * रन टाइम पर गतिशील व्यवहार निर्दिष्ट करने के लिए एक बेस क्लास प्रदान करता है। इस वर्ग को विरासत में प्राप्त किया जाना चाहिए; आप इसे तुरंत चालू नहीं कर सकते हैं। * एमएसडीएन पृष्ठ में 'गतिशील ऑब्जेक्ट' के आधार पर सरलीकृत 'ExpandoObject' कार्यान्वयन' इसलिए, दोनों प्रकारों को देर से बाध्यकारी के साथ उपयोग किया जाता है, लेकिन 'ExpandoObject' ठोस (और मुहरबंद) है, जबकि' डायनामिक ऑब्जेक्ट 'कस्टम गतिशील वस्तुओं के लिए केवल आधार श्रेणी है। – Palec
- 1. सी भाषा मानक संग्रह वे कहाँ हैं?
- 2. सी # 4.0 गतिशील प्रकार
- 3. सी # 4.0 में विधि-गायब कठिनाइयों: गतिशील बनाम रियलप्रोक्सी
- 4. एमवीसी स्टोरफ्रंट - कोना - वे कहाँ हैं?
- 5. जेएनए का W32API। * - वे कहाँ हैं?
- 6. सी # गतिशील Linq चर कहाँ खंड
- 7. सी ++ में फ़ंक्शन पता अक्षर कहाँ हैं?
- 8. कंप्यूटर्स शेडर्स, वे पाइपलाइन में कहां फिट होते हैं?
- 9. सी # 4.0
- 10. सी ++ में यूनियन वे व्यवहार्य हैं
- 11. सी # 4.0 गतिशील कार्यालय इंटरऑप प्रदर्शन
- 12. सी # 4.0 उलझाव से टाइप गतिशील ऑब्जेक्ट्स
- 13. सी # 4.0 'गतिशील' कीवर्ड के फायदे और नुकसान?
- 14. सी # 4.0: अभिव्यक्ति पेड़ बनाम कोडडॉम
- 15. सी # 4.0
- 16. सी # 4.0
- 17. .NET 4.0 (सी #)
- 18. वर बनाम गतिशील
- 19. आईएपीपी खरीद कहाँ संग्रहित हैं?
- 20. सभी जावैक्स जार कहाँ हैं?
- 21. सी # 4.0 'गतिशील' रेफ/आउट तर्क सेट नहीं करता
- 22. बनाम गैर-गतिशील गतिशील वर्ग के सदस्यों
- 23. इकाई की रूपरेखा गतिशील कहाँ खण्ड
- 24. App.XAML आप कहाँ हैं?
- 25. एएसपी.नेट एमवीसी बनाम एएसपी.नेट 4.0
- 26. सी में संरचना, वे कुशल हैं?
- 27. एएसपी.NET वेब सेवा कहाँ नेट फ्रेमवर्क 4.0 में गई थी?
- 28. सी # 4.0
- 29. सी # 4.0, फ्लाई पर तरीके?
- 30. सी # 4.0 में "गतिशील" चर का व्यावहारिक उपयोग क्या है?
बेहतर यहाँ जवाब: http://stackoverflow.com/questions/3565481/differences-between-expandoobject-dynamicobject-and-dynamic –