Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/svg/2.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 更改继承类的Jsonproperty属性_C#_Json_Inheritance_Json.net - Fatal编程技术网

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属性正在“隐藏”基类名称,因此您应该可以看到。你能让name
virtual
并在子类中重写它吗?不,我需要
name
必须是
基类的属性这不是stuart所要求的。所以问题是,你怎么能只在基类中有'name'属性,但是根据派生类的不同,在不同的JSON键下对其进行反序列化?@stuartd我自己纠正一下,你的答案似乎很好。