2011-10-12 12 views
6

बदल गया है का उपयोग करते हुए नेट 4/सी # ...deserialize

मैं पुराने config फ़ाइलों को नाम कहते हैं, ns1.X एक प्रकार का धारावाहिक प्रतिनिधित्व शामिल deserialize की जरूरत है। क्रमशः BinaryFormatter का उपयोग करके किया गया है।

समस्या यह है कि, रिफैक्टरिंग के एक दौर के बाद, टाइप एक्स को एक अलग नेमस्पेस में स्थानांतरित कर दिया गया है, ns2.X कहें।

मैं एक नया खाली ns1.X प्रकार है कि ns2.X से निकला बनाने की कोशिश की है, और जब तक इस गतिरोध उत्पन्न 'प्रकार ns1.X नहीं ढूंढा जा सकता' त्रुटि, deserialized वस्तु में गुण सभी null हैं । इसके अलावा, प्रक्रिया में कोई ctors बुलाया जाता है।

कोई सुझाव?

+1

सुनिश्चित नहीं करता कि यह आपकी समस्या का समाधान कर सकता है क्योंकि मैंने वास्तव में इसका उपयोग नहीं किया है, लेकिन मुझे कुछ समय पहले टाइपफॉरवर्डिंग पर पढ़ना याद है: आप यहां जानकारी पा सकते हैं: http: // msdn .microsoft.com/en-us/लाइब्रेरी/ms404275.aspx – Anton

+0

दिलचस्प। मैं इसे देख लूँगा। –

+0

एक Google खोज ने यह पाया जो मदद कर सकता है: http://www.codeproject.com/KB/cs/DrawWithMouse.aspx#AdvancedBinarySerialization:DeserializinganObjectIntoaDifferentTypeThantheOneItwasSerializedInto9 – Dan

उत्तर

1

ऐसा करने के लिए आपको ISerializationSurregate का उपयोग करने की आवश्यकता होगी। यह बहुत मुश्किल नहीं है और जेफ रिक्टर इसे वास्तव में अच्छी तरह बताते हैं। मैं उनकी पुस्तक सीएलआर वाया सी # 3.

 संबंधित मुद्दे

  • कोई संबंधित समस्या नहीं^_^