假设我有以下类:
public class SomeBase
{
}
public class ACommon : SomeBase
{
[IsInput, IsOutput, IsInternal]
public int AInput1 { get; set; }
[IsOutput, IsInternal]
public int AOutput1 { get; set; }
[IsInternal]
public int AInternal1 { get; set; }
[IsOutput, IsInternal]
public new BCommon ARefToB { get; set; }
}
public class BCommon : SomeBase
{
[IsInput, IsOutput, IsInternal]
public int BInput1 { get; set; }
[IsOutput, IsInternal]
public int BOutput1 { get; set; }
[IsInternal]
public int BInternal1 { get; set; }
}
假设我有以下描述ACommon对象的JSON:
“{\” AInput1 \ “:1,\” AOutput1 \ “:2,\” AInternal1 \ “:3,\” ARefToB \ “:{\” BInput1 \ “:11,\” BOutput1 \“: 12,\ “BInternal1 \”:13}}“
我希望能够以不同的方式反序列化这个字符串:
因此,例如,当我使用第三个选项反序列化时,我的对象看起来像:
A.AInput = 1
A.AOutput1 = -1
A.AInternal1 = -1
A.ARefToB.BInput1 = 11
A.ARefToB.BOutput1 = -1
A.ARefToB.BInternal1 = -1
我一直在研究使用自定义转换器,但在以相同方式递归转换父对象中的每个对象方面还没有成功。