j'utiliser la réflexion pour spécifier le nom de la classe dynamique quand je fais l'importation de fichiers en utilisant FileHelpers comme celui-ci ...bibliothèque FileHelpers améliorée et maintenant mon code est obsolète
Assembly assembly = Assembly.GetExecutingAssembly();
AssemblyName assemblyName = assembly.GetName();
Type t = assembly.GetType(assemblyName.Name + ".FileDefinitions." + className);
FileHelperEngine engine = new FileHelperEngine(t);
Après avoir obtenu la dernière version de la bibliothèque ce que je a été fait ci-dessus maintenant considéré comme « obsolète »
la mise en œuvre a été modifié aux génériques de cette manière
FileHelperEngine<myImportDefinitionClass> = new
FileHelperEngine<myImportDefinitionClass>();
mais je ne suis pas sûr de savoir comment spécifier le myImportDefintionClass
dynamiquement à l'exécution, l'utilisation du code de réflexion d'origine ne fonctionne pas.
MISE À JOUR: Après avoir essayé le code de Paul je maintenant besoin d'être en mesure de faire accéder aux méthodes ou tout au sein de la classe FileHelpers tels que (cette partie ne compile pas)
fileHelperEngine.ErrorManager.ErrorMode = ErrorMode.SaveAndContinue;
importData = fileHelperEngine.ReadFileAsDT(filepath);
Mais je suis pas vraiment clair sur ce qui se passe réellement. Tout lien permettant de mieux comprendre les concepts génériques serait également apprécié.
J'étais encore capable d'utiliser mon ancien code, il s'agissait plus simplement de comprendre et de corriger, avant que ça ne marche pas. Je présume que je peux continuer à retirer les artefacts de l'équipe? Beau travail en passant, m'aide à faire ce dont j'ai besoin :) – Breadtruck
Vous n'avez pas besoin de changer rien de votre code car c'est parfait. Je vous recommande fortement de télécharger la branche Stable au lieu du tronc parce que vous pouvez attraper un bug, nous utilisons la branche stable dans mon travail sans problèmes. Par exemple aujourd'hui nous terminons la construction avec la version pour .net 2.0 et 4.0 pour éviter les problèmes, nous pensons également fournir des builds pour AnyCpu/x86/x64 en raison des problèmes posibles que Visual Studio a – MarcosMeli