고정 길이 레코드 형식의 보고서가 여러 개 있습니다. 우리는 구분 된 레코드 형식으로 변환하기 위해 FileHelpers를 사용하고 있습니다.제네릭 형식을 매개 변수화 할 수 있습니까?
이 우리가 고정으로 구분 된 모델을 설명하는 생각 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
리플렉션을 사용하지 않고도이를 달성 할 수 있습니까? – kiranm516