FileHelpers有一个很好的字段日期转换器:
[FieldConverter(ConverterKind.Date, "MM-dd-yyyy")]
public DateTime MyDate;
不过,FieldConverter 不适用于属性。我必须处理使用属性的对象,所以我正在寻找这样的东西:
[PropertyConverter(ConverterKind.Date, "MM-dd-yyyy")]
public DateTime MyDate { get; set; }
我该如何处理属性?
最佳答案
您不能将转换器与属性一起使用。
但是,您可以做的只是为导入/导出记录创建一个数据模型,它没有绑定(bind)到域对象。此数据模型可以有字段而不是属性。
因此,例如,如果您有 Customers,这是一个域持久化数据对象,您可以创建类似 CustomerRecord 的东西,它将 Customer 作为构造函数参数并复制所有数据(或使用类似 Automapper 的东西为您复制值很容易),那么只需使用文件记录数据模型来执行 filehelper 操作,而不是域模型。
这看起来像是额外的工作,确实如此,但它也将您的域模型与文件操作分离,这是一种良好的可维护性设计模式。
关于c# - 使用 FileHelper 格式化属性,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/14761076/