मैंने अभी यह सीरियलाइजेशन हैल्पर कक्षा लिखा है, लेकिन मुझे विश्वास नहीं है कि यह आवश्यक है!क्या मुझे वास्तव में यह "SerializationHelper" लिखने की ज़रूरत है?
using System.IO;
using System.Xml.Serialization;
public static class SerializationHelper
{
public static string Serialize<T>(T obj)
{
var outStream = new StringWriter();
var ser = new XmlSerializer(typeof(T));
ser.Serialize(outStream, obj);
return outStream.ToString();
}
public static T Deserialize<T>(string serialized)
{
var inStream = new StringReader(serialized);
var ser = new XmlSerializer(typeof(T));
return (T)ser.Deserialize(inStream);
}
}
और यह इस तरह किया जाता है:
var serialized = SerializationHelper.Serialize(myObj);
और:
नेट ढांचे मेंvar myObj = SerializationHelper.Deserialize<MyType>(serialized)
मुझे याद आ रही कुछ? यह रॉकेट साइंस नहीं है!
मैंने आपके जेनेरिक सीरियलाइज कार्यान्वयन को आपूर्ति करने के लिए .NET ढांचे में कुछ भी नहीं देखा है। –
यह शायद -100 से शुरू होने वाली सुविधाओं का एक मामला है (http://blogs.msdn.com/ericlippert/archive/2009/06/15/making-it-easier.aspx पैराफ्रेश करने के लिए)। बीसीएल डिजाइनरों ने यह नहीं सोचा होगा कि एक्सएमएल स्ट्रिंग्स (और इसके विपरीत) से ऑब्जेक्ट्स बनाने से एपीआई में विशेषताओं को जोड़ने में सभी काम मिलते हैं - * विशेष रूप से * क्योंकि यह रॉकेट विज्ञान नहीं है! –
आम तौर पर सीरियलाइजेशन जेनेरिक सीरिएलाइज़र की बजाय टी का एक कार्य होता है। ऐसा इसलिए है क्योंकि इसे पुनर्स्थापित करने के लिए कक्षा से सबकुछ क्रमबद्ध करना हमेशा आवश्यक नहीं है, इस प्रकार विशिष्ट ज्ञान वाले वर्ग इस गतिविधि को करने के लिए बेहतर सूचित स्थान है। – Lazarus