FileHelpers kullanarak böyle bir dosya aktarımı yaparken sınıf adını dinamik olarak belirtmek için yansıma kullanıyorum ...Yükseltilmiş FileHelpers kütüphanesi ve şimdi benim kodum eski
Assembly assembly = Assembly.GetExecutingAssembly();
AssemblyName assemblyName = assembly.GetName();
Type t = assembly.GetType(assemblyName.Name + ".FileDefinitions." + className);
FileHelperEngine engine = new FileHelperEngine(t);
Kütüphanenin en son sürümünü aldıktan sonra, şu an yaptığım şudur: "eski"
Uygulama, bu şekilde
FileHelperEngine<myImportDefinitionClass> = new
FileHelperEngine<myImportDefinitionClass>();
olarak değiştirilmiştir ancak orijinal yansıma kodu kullanılmadığında myImportDefintionClass
'un çalışma zamanında dinamik olarak nasıl belirtileceğinden emin değilim.
GÜNCELLEŞTİRME: Paul'un kodunu denedikten sonra, (xmx41
fileHelperEngine.ErrorManager.ErrorMode = ErrorMode.SaveAndContinue;
importData = fileHelperEngine.ReadFileAsDT(filepath);
x gibi) xxxx gibi xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx aslında neler olup bittiği konusunda net değil. Jenerik kavramlarını daha iyi anlamak için herhangi bir bağlantı da takdir edilecektir.
Eski kodumu hala kullanabildim, işe yaramadan önce onu anlamak ve düzeltmek daha önemliydi. Eserleri ekipten çıkarmaya devam edebileceğimi mi tahmin ediyorum? Bu arada harika bir çalışma, bana ihtiyacım olan şeyi yapmamı sağlıyor :) – Breadtruck
Kodunuzun hiçbirini değiştirmenize gerek yok çünkü mükemmel. Bir hatayı yakalayabildiğinizden dolayı, sabit bir şubeyi gövdeye yüklemek yerine güçlü bir şekilde tavsiye ederim. Örneğin, bugün, sorunlardan kaçınmak için .net 2.0 ve 4.0 sürümüyle derlemeyi bitiriyoruz, ayrıca Visual Studio'nun sahip olduğu olası sorunlar nedeniyle AnyCpu/x86/x64 için yapılandırma sağlamayı düşünüyoruz – MarcosMeli