[TestFixture]
public class JsonPropertyItemConverterType
{
public enum Thingy
{
Test
}
[JsonObject(MemberSerialization.OptIn)]
public abstract class Base
{
[JsonProperty(PropertyName = "type", Required = Required.Always, Order = 0,
ItemConverterType = typeof (StringEnumConverter))]
public Thingy Type { get; internal set; }
}
public class Thing : Base
{
public Thing()
{
Type = Thingy.Test;
}
}
[Test]
public void ItShouldWork()
{
var json = JsonConvert.SerializeObject(new Thing());
Assert.That(json, Is.EqualTo(@"{""type"":""Test""}"));
}
[Test]
public void ItShouldWork2()
{
var json = JsonConvert.SerializeObject(new Thing(), new StringEnumConverter());
Assert.That(json, Is.EqualTo(@"{""type"":""Test""}"));
}
}
рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдирд╛рдо рдХрд╛рдо рдХрд░рддрд╛ рд╣реИ рд▓реЗрдХрд┐рди рдЖрдЗрдЯрдордХрд╡рд░рдЯреЗрдк рдирд╣реАрдВ рдХрд░рддрд╛ рд╣реИ
рдореИрдВ wring рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ,
[JsonConverter(typeof(StringEnumConverter))]
рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред
6 рд╕рд╛рд▓ рдмрд╛рдж рдФрд░ рджрд╕реНрддрд╛рд╡реЗрдЬрд╝реАрдХрд░рдг рдиреЗ рдореБрдЭреЗ рдпрд╣ рдЧрд▓рддреА рдХрд░рдиреЗ рдХреЗ рд▓рд┐рдП рдЧреБрдорд░рд╛рд╣ рдХрд┐рдпрд╛ред
рд╕рдмрд╕реЗ рдЙрдкрдпреЛрдЧреА рдЯрд┐рдкреНрдкрдгреА
рдореИрдВ wring рд╕рдВрдкрддреНрддрд┐ рдХрд╛ рдЙрдкрдпреЛрдЧ рдХрд░ рд░рд╣рд╛ рд╣реВрдБ,
рдареАрдХ рдХрд╛рдо рдХрд░рддрд╛ рд╣реИред