ठीक है तो मुझे अपने ऑब्जेक्ट ग्राफ़ के साथ काम करने वाले DataContractSerializer मिला। अधिक जानकारी के लिए मेरे पिछले प्रश्न देखें।रनटाइम टाइप: http: //schemas.datacontract.org/2004/07/ सिस्टम की उम्मीद नहीं है
Serialization/Derialization of a tree structure
The deserializer has no knowlege of any type that maps to this contract
लेकिन, मेरा क्षेत्रों में से एक, _UserPropertyDefinitions, जिन्हें आप नीचे परिभाषित किया गया है .. यह है कि इस उपयोगकर्ता डेटा संरचना में वस्तुओं को जोड़ सकते हैं कस्टम गुण की एक सूची को परिभाषित करता है । स्ट्रिंग संपत्ति की पहचान करने के लिए एक अनूठी कुंजी है, और टाइप उस संपत्ति का प्रकार है जो हमेशा एक मूल प्रकार है जैसे बूल, इंट, स्ट्रिंग इत्यादि।
प्रत्येक ऑब्जेक्ट में शब्दकोश (स्ट्रिंग कुंजी, वस्तु मूल्य) मान यह "उपयोगकर्ता गुण" से किसी के लिए निर्धारित किया है
[DataMember]
private Dictionary<string, Type> _UserPropertyDefinitions;
मेरे वस्तु ग्राफ ठीक serializes जब इस संपत्ति के एक खाली संग्रह है, फिर भी स्टोर करने के लिए संग्रह एक बार मैं इस संग्रह के लिए कोई कस्टम गुण जोड़ने DataContractSerializer के साथ क्रमबद्ध करने का प्रयास करते समय मुझे निम्न अपवाद मिलता है।
प्रकार डेटा अनुबंध नाम साथ 'System.RuntimeType' 'RuntimeType: http://schemas.datacontract.org/2004/07/System' की उम्मीद नहीं है। ज्ञात प्रकारों की सूची में स्थिर रूप से ज्ञात नहीं है - उदाहरण के लिए, KnownTypeAttribute विशेषता का उपयोग करके या उन्हें ज्ञात प्रकार की सूची में डेटाकंट्रैक्टसेरियलाइज़र को पास करके।
यदि मैं इस क्षेत्र के लिए डेटामेम्बर विशेषता को हटा देता हूं तो मैं अपवाद प्राप्त करने के साथ क्रमबद्ध/deserialize कर सकते हैं, लेकिन निश्चित रूप से मैं इस क्षेत्र में बनाई गई सेटिंग्स को खो देता हूं।
देरी प्रतिक्रिया के लिए खेद है ;- या तो टाइप करें। गेट टाइप() या असेंबली। गेट टाइप() –