C# FileHelpers ライブラリを使用して、大きな区切りファイルを検証オブジェクトに効率的に解析しています。
ただし、単一の入力ファイル列を複数の出力クラス プロパティにマップできるようにしたいのですが、これを実現する明白な方法が見つかりません。私は ITransformable を見てきましたが、操作中にメモリを削減するためにさらに別のオブジェクトにマップしたくありません。また、DynamicFieldBuilder/DynamicClassBuilder オブジェクトを見てきましたが、これらは私が何が何であるかを説明することしかできないようです出力インスタンスにあるべきものではなく、入力ファイルに。
私は、ファイルを 2 回ロードしたり、事後にオブジェクトからオブジェクトへのマッピングを行ったりする必要がないようにしています。
入力ファイルの例:
ColumnA|ColumnB
Foo|Baz
出力クラスの例:
public class FooBar
{
public string ColumnA_One;
public string ColumnA_Two;
public string ColumnB_One;
public string ColumnB_Two;
}