我想知道将json
直接映射到其上或subtypes
上具有多个property
级别的[JsonConverter(typeof(JsonSubtypes),"Kind"]
[KnownSubType(typeof(A),"a"]
[KnownSubType(typeof(B),"b"]
public abstract class Root
{
public abstract string Kind{get;set;}
}
public class A:Root {
override Kind=>"a";
[JsonProperty]
public Prop prop{get;set;}
}
[JsonConverter(typeof(JsonSubtypes),"PropKind"]
[KnownSubtypes(typeof(P1),"p1"]
[KnownSubtypes(typeof(P2),"p2"]
public abstract class Prop
{
public abstract string PropKind{get;}
}
public abstract class P1:Prop
{
override PropKind=>"p1";
public int SomeValue{get;set;}
}
时,什么是可伸缩解决方案。
Camera
您可以看到我的根对象有一些子类型,但我也有其字段之一的子类型。将来我可能需要更多级别的子类型。这种方法的子类型膨胀吗?我应该使用对象,每个子类型都有一个很大的开关盒?什么是更好的方法?