Skip to content

Instantly share code, notes, and snippets.

@mythz
Created February 28, 2017 21:14
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save mythz/197d1013c54f38a72ab9b13a7f6fcd69 to your computer and use it in GitHub Desktop.
Save mythz/197d1013c54f38a72ab9b13a7f6fcd69 to your computer and use it in GitHub Desktop.
Serialize Rectangle Example
using System.Linq;
using ServiceStack;
using ServiceStack.Text;
using System.Drawing;
JsConfig<Rectangle>.SerializeFn = r => $"{r.X},{r.Y},{r.Width},{r.Height}";
JsConfig<Rectangle>.DeSerializeFn = s => {
var parts = s.Split(',');
return new Rectangle(
int.Parse(parts[0]),
int.Parse(parts[1]),
int.Parse(parts[2]),
int.Parse(parts[3]));
};
var rect = new Rectangle(-3372, -12, 3384, 1844);
var json = rect.ToJson();
var fromJson = json.FromJson<Rectangle>();
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="ServiceStack.Text" version="4.0.62" targetFramework="net45" />
<package id="ServiceStack.Client" version="4.0.62" targetFramework="net45" />
<package id="ServiceStack.Interfaces" version="4.0.62" targetFramework="net45" />
</packages>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment