6

FileHelpers有一个不错的字段日期转换器:

[FieldConverter(ConverterKind.Date, "MM-dd-yyyy")] 
public DateTime MyDate;

FieldConverter 虽然不适用于属性。我必须处理使用属性的对象,所以我正在寻找这样的东西:

[PropertyConverter(ConverterKind.Date, "MM-dd-yyyy")] 
public DateTime MyDate { get; set; }

如何使用属性执行此操作?

4

1 回答 1

4

您不能将转换器与属性一起使用。

但是,您可以做的只是为不绑定到域对象的导入/导出记录创建数据模型。这个数据模型可以有字段而不是属性。

因此,如果您有客户,例如,它是一个域持久数据对象,您可以创建类似 CustomerRecord 的东西,它将客户作为构造函数参数并复制所有数据(或使用类似 Automapper 的东西轻松地为您复制值),然后只需使用文件记录数据模型来执行文件助手操作,而不是域模型。

这似乎是额外的工作,而且确实如此,但它也将您的域模型与文件操作分离,这是一种良好的可维护性设计模式。

于 2013-02-07T21:50:33.260 回答