0
使用FileHelpers庫版本3.0.1。FileHelpers庫 - 是否可以在運行時更改字段的日期格式?
說你定義一個字段從一個CSV文件中像這樣導入:現在
[FieldTrim(TrimMode.Both)]
[FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)]
[FieldConverter(ConverterKind.Date, "d-MMMM-yyyy")]
public DateTime DOB;
,該CSV場預計將在日期格式「d-MMMM-YYYY」,並在編譯設置時間。我有一個要求在運行時(有時)將此格式更改爲「d-MMMM-yy」。
使用的格式取決於源文件 - 有些文件有2位數字年份,有些文件有4位數字年份。我會在程序啓動時知道使用哪種格式。
FileHelpers可能嗎?我想我可以像添加一個字符串列:
[FieldTrim(TrimMode.Both)]
[FieldQuoted('"', QuoteMode.OptionalForBoth, MultilineMode.NotAllow)]
public string DOBAsString;
,並獲得FileHelpers將數據讀入這一領域,並將其轉換爲DOB場自己在一個循環。有更清潔的方法嗎?
你可以在運行時更改FieldConverter屬性的值。你可以在這裏看到一個例子http://codinglight.blogspot.in/2008/10/changing-attribute-parameters-at.html –
謝謝,但我不確定這是否會與FileHelpers一起工作,因爲FileHelpers負責創建該字段所在對象的實例。所以似乎沒有能夠獲得對象實例的鉤子(?)。 –
我明白了。如果你找不到用FileHelpers解決這個問題的方法,你仍然可以在運行時改變屬性(即使FileHelpers創建了實例)。您可以將此解決方案作爲最後的手段。 –