J'ai quelques classes dans la bibliothèque de classes (assemblage séparé). Je l'ai référencé à mon projet et je veux initialiser une classe spécifique de cette bibliothèque. Je ne connais que son nom. Toutes les classes implémente une interface. Et voici le problème.Comment initialiser une classe à partir d'une bibliothèque?
Mon code à ce jour:
using MyLibrary;
...
IMyInterface dll = Activator.CreateInstance("MyLibrary", "MyLibrary.NameOfClass") as IMyInterface;
Mais dll est toujours nulle. Des idées?
Merci
MISE À JOUR
-je supprimer la référence à la bibliothèque et à réécrire ce code:
Assembly a = Assembly.Load("MyLibrary");
Type type = a.GetType("MyLibrary.SKClass");
IMyInterface obj = Activator.CreateInstance(type) as IMyInterface;
mais obj est nulle.
Si j'ai vérifié les types de bibliothèques avec un .GetExportedTypes(), SKClass est là. Alors, pourquoi ce code renvoie-t-il toujours une valeur nulle?
essayer sans « comme » essayer « Activator.CreateInstance (» MyLibrary », « NameOfClass ») sans –
« dans le cadre », il renvoie une erreur si un casting est manquant. – daemon