Я использую отражение, чтобы динамически указывать имя класса, когда я импортирую файлы с помощью FileHelpers, как это...
Assembly assembly = Assembly.GetExecutingAssembly();
AssemblyName assemblyName = assembly.GetName();
Type t = assembly.GetType(assemblyName.Name + ".FileDefinitions." + className);
FileHelperEngine engine = new FileHelperEngine(t);
После получения последней версии библиотеки то, что я делал выше, теперь считается «устаревшим».
Таким образом, реализация была изменена на дженерики.
FileHelperEngine<myImportDefinitionClass> = new
FileHelperEngine<myImportDefinitionClass>();
но я не уверен, как динамически указать myImportDefintionClass
во время выполнения, использование исходного кода отражения не работает.
ОБНОВЛЕНИЕ. После того, как я попробовал код Пола, мне теперь нужно было иметь доступ к методам или чему-то еще в классе FileHelpers, например (эта часть не компилируется)
fileHelperEngine.ErrorManager.ErrorMode = ErrorMode.SaveAndContinue;
importData = fileHelperEngine.ReadFileAsDT(filepath);
Но я не совсем понимаю, что на самом деле происходит. Также будут оценены любые ссылки для лучшего понимания концепций дженериков.