C# 更改继承类的Jsonproperty属性
我有一个类C# 更改继承类的Jsonproperty属性,c#,json,inheritance,json.net,C#,Json,Inheritance,Json.net,我有一个类BaseClass,还有一些子类ChildA和ChildB。我需要将[JsonProperty(“someString”)]应用于基类的属性,但每个子类的参数“someString”都不同 公共类基类 { 公共字符串名称{get;set;} } 公共类ChildA:基类 { [JsonProperty(“someStringA”)] 公共字符串名称{get;set;} 公共int Foo{get;set;} } 公共类ChildB:基类 { [JsonProperty(“someStr
BaseClass
,还有一些子类ChildA
和ChildB
。我需要将[JsonProperty(“someString”)]
应用于基类的属性,但每个子类的参数“someString”
都不同
公共类基类
{
公共字符串名称{get;set;}
}
公共类ChildA:基类
{
[JsonProperty(“someStringA”)]
公共字符串名称{get;set;}
公共int Foo{get;set;}
}
公共类ChildB:基类
{
[JsonProperty(“someStringB”)]
公共字符串名称{get;set;}
公共字符串条{get;set;}
}
有可能将其存档吗
通过上面的代码,我得到以下行为:
BaseClass childA=new childA()
{
Id=1,
Name=“aaa”,
};
string str=childA.Name;
str
result to null子类中的Name属性正在“隐藏”基类名称,因此您应该可以看到。你能让namevirtual
并在子类中重写它吗?不,我需要name
必须是基类的属性这不是stuart所要求的。所以问题是,你怎么能只在基类中有'name'属性,但是根据派生类的不同,在不同的JSON键下对其进行反序列化?@stuartd我自己纠正一下,你的答案似乎很好。