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

プロパティでコンバーターを使用することはできません。

ただし、実行できるのは、ドメインオブジェクトに関連付けられていないインポート/エクスポートレコード専用のデータモデルを作成することです。このデータモデルには、プロパティの代わりにフィールドを含めることができます。

たとえば、ドメイン永続データオブジェクトであるCustomersがある場合、コンストラクターパラメーターとしてCustomerを受け取り、すべてのデータをコピーするCustomerRecordのようなものを作成できます(またはAutomapperのようなものを使用して値を簡単にコピーします)。次に、ドメインモデルではなく、ファイルレコードデータモデルを使用してファイルヘルパー操作を実行します。

これは追加の作業のように見えますが、それはまた、ドメインモデルをファイル操作から切り離します。これは、保守性のための優れたデザインパターンです。

于 2013-02-07T21:50:33.260 に答える