Merge branch 'barsgroup-master'
This commit is contained in:
@@ -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);
|
||||
|
||||
Reference in New Issue
Block a user