1.基类
public class BaseModel
{
[JsonProperty(NullValueHandling = NullValueHandling.Ignore)]
[JsonExtensionData]
private JObject ext;
// 初始化 JObject(避免 null)
private JObject Ext => ext ?? (ext = new JObject());
public void AddExt(string key, object value)
{
// 将键值对添加到 JObject 中
Ext[key] = JToken.FromObject(value);
}
}
2.子类继承基类
public class TestModel : BaseModel
{
public int KId { get; set; }
public string Name { get; set; }
}
3.实例化基类,使用实例化对象自定义新增字段
TestModel entity = new TestModel();
entity.KId = 1;
entity.Name = "名称";
entity.AddExt("Code", "SC001");
entity.AddExt("Money", 50);
string json = JsonConvert.SerializeObject(entity);
Console.WriteLine(json);