Merge branch 'barsgroup-master'

This commit is contained in:
James Newton-King
2015-11-28 19:46:46 +13:00
2 changed files with 12 additions and 1 deletions
@@ -1399,5 +1399,16 @@ namespace Newtonsoft.Json.Tests
writer.WriteValue(Math.Round((double)value, _precision, _rounding));
}
}
[Test]
public void GenericBaseClassSerialization()
{
string json = JsonConvert.SerializeObject (new NonGenericChildClass ());
Assert.AreEqual ("{\"Data\":null}", json);
}
public class GenericBaseClass<O, T> { public virtual T Data { get; set; } }
public class GenericIntermediateClass<O> : GenericBaseClass<O, string> { public override string Data { get; set; } }
public class NonGenericChildClass : GenericIntermediateClass<int> { }
}
}
@@ -967,7 +967,7 @@ namespace Newtonsoft.Json.Utilities
int index = initialProperties.IndexOf(p => p.Name == subTypeProperty.Name
&& p.IsVirtual()
&& p.GetBaseDefinition() != null
&& p.GetBaseDefinition().DeclaringType.IsAssignableFrom(subTypeProperty.DeclaringType));
&& p.GetBaseDefinition().DeclaringType.IsAssignableFrom(subTypeProperty.GetBaseDefinition().DeclaringType));
if (index == -1)
initialProperties.Add(subTypeProperty);