0

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;
}
4

2 に答える 2

0
enum DataFields
    {
        Action = 0,
        CRC = 1,
        Desc = 2,
        Group = 3,
        Name = 4,
        Sell = 5,
        EffDate = 6,
        Whse = 7,
        Whse2 = 8,
        Whse3 = 9,
        Casepack = 10,
        LDU = 11,
        Cube = 12,
        Item = 13,
        UPC = 14,
        Cost = 15,
        Markup = 16,
        OldSell = 17,
        Avail = 18,
        Substitute = 19,
        Poll = 20
    }//enum DataFields

    /// <summary>
    /// This will hold the ordinal position of the NameFields within the datafile
    /// </summary>
    enum NameFields
    {
        Code = 0,
        Abrv = 1,
        Name = 2,
        Count = 3
    }//enum NameFields

    /// <summary>
    /// This will hold the ordinal position of the values when populating the history table
    /// </summary>
    enum HistoryFields
    {
        CRC = 0,
        EffDate = 1,
        OldSell = 2,
        Sell = 3
    }//enum HistoryFields
    #endregion    
于 2012-01-03T22:28:27.843 に答える