public void DeserializePublicExtensionDataTypeNamdHandlingNonDefaultConstructor() { string json = @"{ ""$id"": ""1"", ""Name"": ""Name!"", ""Test"": 1, ""Self"": { ""$type"": ""Newtonsoft.Json.Tests.TestObjects.WagePerson, Newtonsoft.Json.Tests"", ""HourlyWage"": 2.0, ""Name"": null, ""BirthDate"": ""0001-01-01T00:00:00"", ""LastModified"": ""0001-01-01T00:00:00"" } }"; PublicExtensionDataAttributeTestClassWithNonDefaultConstructor c2 = JsonConvert.DeserializeObject <PublicExtensionDataAttributeTestClassWithNonDefaultConstructor>(json, new JsonSerializerSettings { TypeNameHandling = TypeNameHandling.Objects }); Assert.AreEqual("Name!", c2.Name); WagePerson bizzaroC2 = (WagePerson)c2.ExtensionData["Self"]; Assert.AreEqual(2m, bizzaroC2.HourlyWage); }
public PersonPropertyClass() { Person = new WagePerson(); }