How to unit test if my object is really serializable?

后端 未结 7 1218
情书的邮戳
情书的邮戳 2020-12-03 00:45

I am using C# 2.0 with Nunit Test. I have some object that needs to be serialized. These objects are quite complex (inheritance at different levels and contains a lot of obj

7条回答
  •  心在旅途
    2020-12-03 01:40

    Here is a generic way:

    public static Stream Serialize(object source)
    {
        IFormatter formatter = new BinaryFormatter();
        Stream stream = new MemoryStream();
        formatter.Serialize(stream, source);
        return stream;
    }
    
    public static T Deserialize(Stream stream)
    {
        IFormatter formatter = new BinaryFormatter();
        stream.Position = 0;
        return (T)formatter.Deserialize(stream);
    }
    
    public static T Clone(object source)
    {
        return Deserialize(Serialize(source));
    }
    

提交回复
热议问题