我正在使用C#FileHelpers庫有效地將大型分隔文件解析爲驗證對象。將FileHelpers映射到多個輸出屬性
但是,我想能夠將單個輸入文件列映射到多個輸出類屬性,但找不到明顯的方法來實現此目的。我已經看過了ITransformable,但我不想在操作過程中映射到另一個減少內存的對象,並且我查看了DynamicFieldBuilder/DynamicClassBuilder對象,但這些對象似乎只允許我描述什麼是在輸入文件中,不是輸出實例中應該包含的內容。
我想避免不得不加載文件兩次或在事後做某種對象到對象的映射。
輸入文件示例:
ColumnA|ColumnB
Foo|Baz
輸出類示例:
public class FooBar
{
public string ColumnA_One;
public string ColumnA_Two;
public string ColumnB_One;
public string ColumnB_Two;
}
你可以這樣做,如果你創建了一個枚舉和外來列上創建一個單獨的枚舉,以及這是否有道理枚舉將持有列的順序,如果不同的文件共享coulunm但在不同的順序。 。然後索引或通過順序位置來訪問它們當然是通過(int)然後枚舉字段名稱來看看我的示例如下 – MethodMan 2012-01-03 22:26:51
這不是我想要做的。我想要一個像上面例子那樣的單個輸入文件來生成一個FooBar的實例,其中ColumnA_One和ColumnA_Two等於'Foo',而ColumnB_One和ColumnB_Two等於「Baz」。 – 2012-01-04 14:42:58
是的,但看着CollumnA_One例如什麼是您想要的字段名稱..發送給我或給我一個所有字段的列表,我可以爲您構建一個枚舉示例..這將是很高興知道數據你正在使用的分隔符也適用於我的例子,我的5個不同的文件共享枚舉結構並以逗號作爲分隔符 – MethodMan 2012-01-04 14:44:47