固定長レコード形式のレポートがいくつかあります。 FileHelpersを使用して区切られたレコード形式に変換しています。genericをパラメータ化できますか?
あり、我々は固定と区切られたモデルを説明する考えのserveralの報告があり、私は新たなんだ、それDRY私たちが行うことができます何か
Transform<TInput, TOutput>()
{
var engine = new FileTransformEngine<TInput, TOutput>();
engine.TransformFileFast(...);
}
ようにすると
FileTransformEngine<TSource, TDestination>();
に渡すとC#とジェネリックスと私はどこから始めるか分からない。
これは可能かどうかは誰にでも分かりますが、すべてのモデルが既に作成されているのでコンパイル時に利用できると思います。両方のための独自のFileTransformEngine
public class FileTransformEngine<T>
{
public void TransformFileFast(string inputFile, string outputFile)
{
var readEngine = new FixedFileEngine<T>();
T[] records = readEngine.ReadFile(inputFile);
var writeEngine = new FileHelperEngine<T>();
writeEngine.WriteFile(outputFile,records);
}
}
これが機能するためには、あなたのクラスが必要になります属性の両方への呼び出しをラップするために、かなり簡単なはずですので -
で呼び出されます。正確に後であなたはどのような "ガイダンス"ですか? – Jamiec
Reflectionを使わずに達成できるかどうか? – kiranm516