有没有好办法创建通用属性名可以支持多属性?

问题描述

我需要创建一个用于 JsonConvert 的数据类。除了以下属性外,大多数用于转换的资源字符串都相同:

public class DataType
{
        public DateTimeOffset CreateDate { get; set; }
        public DateTimeOffset Create_Date { get; set; }
}

因为在资源字符串中有两种类型: "create_date": "2021-01-15T18:43:13.061+0000",& "createdate": "2021-01-15T18:43:13.061+0000",

使用以下 JsonConvert:

JsonConvert.DeserializeObject<DataType>(resourceStr);

日期时间属性之一的输出将是错误的值。有没有好的方法可以使用一个属性来处理这两种格式?

解决方法

它是通过添加另一个具有更改名称的私有属性来解决的。然后该类将支持使用单个显示名称转换 CreateDate 和 Create_Date;

public DateTimeOffset CreateDate { get; set; }

[JsonProperty("Create_Date")]
        private DateTimeOffset CreateDate2
        {
            set => CreateDate = value;
        }

相关问答

错误1:Request method ‘DELETE‘ not supported 错误还原:...
错误1:启动docker镜像时报错:Error response from daemon:...
错误1:private field ‘xxx‘ is never assigned 按Alt...
报错如下,通过源不能下载,最后警告pip需升级版本 Requirem...