Bir yük olabilir .Zamanında ağ takımının bir türü sadece adını bilmek başlatılamadı?
Eğer sadece DLL adı ve sınıf adı varsa, çalışma zamanında bir nesnenin, proje derlemesine eklemeden oluşturmak mümkün mü? Bir sınıf bir arabirim uygulayan, Dersim örneğini bir kez arayüzü koyun.
Derleme adı:
library.dll
Adını yazın:
Şirket.Proje.Code
DÜZENLEME:İ Assembly.LoadFile
işe yaramaz bu yüzden DLL dosyasının tam yolu. DLL uygulama kökü, system32, hatta GAC yüklü olabilir.
CEVAP
Evet. Assembly.LoadFrom
belleğe derleme yüklemek için kullanmanız gerekir, o zaman Activator.CreateInstance
tercih ettiğiniz türünde bir örnek oluşturmak için kullanabilirsiniz. İlk yansıma kullanarak türü bakmak gerekir. İşte bir örnek:
Assembly assembly = Assembly.LoadFrom("MyNice.dll");
Type type = assembly.GetType("MyType");
object instanceOfMyType = Activator.CreateInstance(type);
Güncelleme
Derleme dosya adı ve tür adı varsa, Activator.CreateInstance(assemblyName, typeName)
sormak için kullanabilirsiniz .NET tür bir tür içine çözümleme. Eğer başarısız olursa, özellikle aksi aradı olmayabilir ek derlemeler saklayabilirsiniz dizinlerinin bir arama yapabilmek için try/catch ile bitirdik. Bu noktada yukarıdaki yöntemi kullanabilirsiniz.
Farklılıklar varsa, C-03 ve C arasında...
Git diff ---sadece adını ve listeyi ko...
Eğer 2 sınıfları varsa sadece CSS ile ...
C sadece Tarih için bir tür# - neden h...
Nasıl veya komut istemi açmak SADECE W...