0
我不得不處理,可以採取下列形式串行化的數據:複雜遺傳模式收縮
{
"CommonKey" : "Value",
"ObjType" : "A",
"Obj" : {
"CommonObjKey" : "Value"
"ObjKey" : "Value"
}
}
OR
{
"CommonKey" : "Value",
"ObjType" : "B",
"Obj" : {
"CommonObjKey" : "Value"
"ObjKey" : 1234
}
}
注意ObjKey可以是一個字符串或整數取決於類型。
如果超載派生的返回類型在C#允許的,這是它如何建模:
abstract class ContractBase
{
string CommonKey;
string ObjType;
abstract ObjBase Obj;
}
class AContract : ContractBase { override AObj Obj; }
class BContract : ContractBase { override BObj Obj; }
abstract class ObjBase { string CommonObjKey; }
class AObj : ObjBase { string ObjKey; }
class BObj : ObjBase { int ObjKey; }
是否有這個數據模式模型推薦的方法是什麼?要求是:
- 我可以使用JSON.NET
- 我可以使用的基類型的90%的時間,只將其丟需要A或B-特定字段時容易反序列化。