给予实体赋予默认值的使用方法
示例: var str= "{ "ouShortCode":"1001","ouId":"81","ouName":"测试公司"}"; //测试
FromEBSOuNameInfoData ToEBSOuNameInfoData = new FromEBSOuNameInfoData();
JsonConvert.SerializeObject(ToEBSOuNameInfoData)《===【等同于】==》str
// 需要给一个实体赋默认值,但数据源不存在的字段, 但又需要该字段时 赋予 固定默认值的时候,用方法1,若用方法2 会报错。找不到对应的字段; 方法2适用于 数据源存在该字段,而且为null 时,赋予默认值,就适用方法2 FromEBSOuNameInfoDataToList OuNameInfoDataList = JsonConvert.DeserializeObject<FromEBSOuNameInfoDataToList>(JsonConvert.SerializeObject(ToEBSOuNameInfoData));
//正确写法 【方法1】 /// <summary> /// 方法1适用于 数据源不存在该字段,但是需要赋予默认值的时候 /// </summary> public class FromEBSOuNameInfoDataToList : FromEBSOuNameInfoData { /// <summary> /// 甲/乙方 Y/N /// </summary> public string Isself { get { return "Y"; } set { Isself = value; } } /// <summary> /// 甲/乙方 /// </summary> public string Isselfdes { get { return "甲方"; } set { Isself = value; } } }
//错误写法 【方法2】 /// <summary> /// 方法2适用于 数据源存在该字段,而且为null 时,赋予默认值,就适用方法2 /// </summary> public class FromEBSOuNameInfoDataToList : FromEBSOuNameInfoData { /// <summary> /// 甲/乙方 Y/N /// </summary> public string Isself { get { if (Isself == null) { return "Y"; } else { return Isself; } } set { Isself = value; } } /// <summary> /// 甲/乙方 /// </summary> public string Isselfdes { get { if (Isself == null) { return "甲方"; } else { return Isself; } } set { Isself = value; } } }