Skip to content

Instantly share code, notes, and snippets.

@michaelhollman
Last active January 8, 2020 22:24
Show Gist options
  • Save michaelhollman/c67e6b6d377a29e4d42e675989397f8b to your computer and use it in GitHub Desktop.
Save michaelhollman/c67e6b6d377a29e4d42e675989397f8b to your computer and use it in GitHub Desktop.
servicestack.text fun
using System;
using ServiceStack.Text;
enum Subset
{
Zero,
}
enum Superset
{
Zero,
One,
}
class SubsetClass
{
public Subset Value { get; set; }
}
class SupersetClass
{
public Superset Value { get; set; }
}
var obj = new SupersetClass
{
Value = Superset.One,
};
var serialized = JsonSerializer.SerializeToString(obj);
Console.WriteLine(serialized); // {"Value":"One"}
var desSuper = JsonSerializer.DeserializeFromString<SupersetClass>(serialized);
Console.WriteLine(desSuper.Value.ToString()); // One
var desSub = JsonSerializer.DeserializeFromString<SubsetClass>(serialized);
Console.WriteLine(desSub.Value.ToString()); // Zero
Console.WriteLine(((Subset)3).ToString()); // 3
<?xml version="1.0" encoding="utf-8"?>
<packages>
<package id="ServiceStack.Text" version="3.9.71" targetFramework="net45" />
</packages>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment