I am writing an application in C# that takes data from approximately 100 unique file sources and maps it into existing objects for analysis and storage to a database. These files are typically CSV or TAB. I'm currently using the Lumenworks library for parsing the actual CSV, so I already have the ability to reference fields by name.
Many of these fields are direct 1:1 mapping, but some items need to either be split, concatenated, or otherwise converted.
Rather than use a factory with a concrete class for each source, I see an opportunity to make all of this configurable using a library of common methods for mapping individual fields, reserving the custom datasource specific coding for some of the edge-case mapping.
I'm thinking that I could put an front end on this that would allow a couple of our admins to creating mappings for new datasources on-the-fly.
What would be a good design to consider for this type of task?