我真的需要写这个"SerializationHelper"吗?

Joe*_*Fan 5 c# serialization .net-3.5

我刚刚写了这个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);
    }
}
Run Code Online (Sandbox Code Playgroud)

它的使用方式如下:

var serialized = SerializationHelper.Serialize(myObj);
Run Code Online (Sandbox Code Playgroud)

和:

var myObj = SerializationHelper.Deserialize<MyType>(serialized)
Run Code Online (Sandbox Code Playgroud)

我在.NET框架中遗漏了什么?这不是航天科技!

Gra*_*lin 0

如果您在项目中进行任何实际数量 (>1) 的序列化/反序列化,那么它会很有用。我曾经遇到过这种情况,所以我只是将一个类似的类与其他可重用函数一起放入 Utils 库中。