चूंकि ऑब्जेक्ट प्रारंभकर्ता जेएसओएन के समान हैं, और अब .NET में बेनामी प्रकार हैं। JSON जैसे स्ट्रिंग लेने में सक्षम होना अच्छा होगा, और जेएसओएन स्ट्रिंग का प्रतिनिधित्व करने वाला एक अनाम ऑब्जेक्ट बनाएं।क्या आप JSON से .NET में ऑब्जेक्ट इंस्टेंस को इंस्टेंट कर सकते हैं?
उपयोग ऑब्जेक्ट initializers एक बेनामी प्रकार बनाने के लिए:
var person = new {
FirstName = "Chris",
LastName = "Johnson"
};
यह गज़ब का यदि आप ऑब्जेक्ट प्रारंभकर्ता कोड (अधिमानतः JSON की तरह कुछ) के एक स्ट्रिंग प्रतिनिधित्व में पारित एक बेनामी का एक उदाहरण बनाने के लिए सकता है उस डेटा के साथ टाइप करें।
मुझे नहीं पता कि यह संभव है, क्योंकि सी # गतिशील नहीं है, और संकलक वास्तव में ऑब्जेक्ट इनलाइलाइज़र को d Anonymous Type into strongly typed code that can run. This is explained in इस आलेख में परिवर्तित करता है।
शायद JSON लेने और इसके साथ एक कुंजी/मूल्य शब्दकोश बनाने की कार्यक्षमता सर्वोत्तम काम करेगी।
मुझे पता है कि आप किसी ऑब्जेक्ट को .NET में जेएसओएन को क्रमबद्ध/deserializer कर सकते हैं, लेकिन जो भी मैं देख रहा हूं वह एक ऐसी वस्तु बनाने का एक तरीका है जो अनिवार्य रूप से ढीला टाइप किया गया है, इसी प्रकार जावास्क्रिप्ट कैसे काम करता है।
क्या कोई भी .NET में ऐसा करने के लिए सबसे अच्छा समाधान जानता है?
अद्यतन: मैं यह क्यों पूछ रहा हूं के संदर्भ को स्पष्ट करने के लिए ... मैं सोच रहा था कि कैसे सी # भाषा स्तर पर जेएसओएन का बेहतर समर्थन कर सकता है (संभवतः) और मैं उन तरीकों के बारे में सोचने की कोशिश कर रहा था जो इसे किया जा सकता है आज, वैचारिक कारणों के लिए। तो, मैंने सोचा कि मैं इसे एक चर्चा शुरू करने के लिए यहां पोस्ट करूंगा।
+1, गंदे, लेकिन वर्तमान में ओपी चाहता है जो करने का एकमात्र तरीका है। – user7116
बहुत अच्छा, यह एक तरीका है जिस पर मैंने नहीं सोचा था। –
क्या लगता है कि उत्तर अब से होगा # सी गतिशील प्रकारों का समर्थन करता है –