Bonjour,
Je ne sais pas si ton problème est toujours d'actualité ... mais bon.
Si tu accepte l'idée de faire
ConstructorInfo TConstructor = typeof(T).GetConstructor(new Type[0]);
Tu devrais accepter la solution suivante :
Si tu as le nom de la classe, tu peux obtenir l'objet Type correspondant et écrire quasiement la même chose que dans ton exemple.
1 2 3 4 5 6 7
| //On part du principe que l'assembly qui contient la classe à instancier est connue
//Le nom de la classe est dans une variable : string typeName
//On déclare également : ILGenerator ILout;
Assembly asm = ...;
Type type = asm.GetType(typeName);
ConstructorInfo constructor = type .GetConstructor(new Type[0]);
ILout.Emit(OpCodes.Newobj, constructor); |
Partager