0
我有以下设置:与JsonIgnore摘要属性被序列化(Json.NET)
public abstract class A
{
[JsonIgnore]
public abstract Type Foo { get; }
}
public abstract class B : A
{
public override Type Foo { get { return typeof(D); } }
}
public class C : B
{
}
public abstract class D
{
}
我的问题是,当我通过以下序列C的实例:
JsonConvert.SerializeObject(instanceOfC, serializationSettings));
生成的JSON包含属性Foo的条目。这是预期的结果吗?
我serializationSettings
如下:
JsonSerializerSettings _serializationSettings = new JsonSerializerSettings
{
PreserveReferencesHandling = PreserveReferencesHandling.Objects,
ReferenceLoopHandling = ReferenceLoopHandling.Serialize,
TypeNameHandling = TypeNameHandling.All,
ConstructorHandling = ConstructorHandling.AllowNonPublicDefaultConstructor
};
编辑:使用Json.NET 6.0.0和.NET 4.5。
我不能和你给的代码重现此问题。请参阅https://dotnetfiddle.net/aEUy3p – 2015-02-11 15:09:07