Binary Serializations DataContracts Vector2

Try using ISerializationSurrogate:

sealed class Vector2SerializationSurrogate : ISerializationSurrogate
{
public void GetObjectData(Object obj, SerializationInfo info, StreamingContext context)
{
var vec = (Vector2)obj;
info.AddValue(“x”, vec.X);
info.AddValue(“y”, vec.Y);
}

    public Object SetObjectData(Object obj, SerializationInfo info, StreamingContext context, ISurrogateSelector selector)
    {
        var vec = (Vector2)obj;
        vec.X = info.GetSingle("x");
        vec.Y = info.GetSingle("y");
        return vec;
    }
}
1 Like