Una classe FileHelpers è solo un modo per definire le specifiche di un file flat utilizzando una sintassi C# limitata come lingua di definizione. In quanto tale, le classi FileHelpers sono un tipo insolito di classe C# e non dovresti provare a usarle in altro modo. Pensa alla classe FileHelpers come alle "specifiche" del tuo formato CSV. Questo dovrebbe essere il suo unico ruolo. Se avete bisogno i record in un oggetto più 'normale' (nel tuo caso, è necessario proprietà invece di campi), quindi mappare i risultati a qualcosa di meglio in questo modo:
FileHelperEngine engine = new FileHelperEngine<FileHelpersOrder>();
var records = engine.ReadFile("FileIn.txt");
var niceOrders = records.Select(
x => new NiceOrder()
{ Number = x.Number,
Customer = x.Customer
// etc.
});
Dove FileHelpersOrder
è vostra specifica CSV e la La classe NiceOrder
sarebbe una classe OOP appropriata con proprietà, metodi e così via, se necessario.
Se si esporta, allora avete bisogno di fare il contrario, vale a dire , selezionare una raccolta di FileHelpersOrder
da una collezione di NiceOrder
.