2009-02-05 11 views

Répondre

25
Type generic = typeof(List<>);  
Type specific = generic.MakeGenericType(typeof(int));  
ConstructorInfo ci = specific.GetConstructor(Type.EmptyTypes);  
object o = ci.Invoke(new object[] { }); 
+4

Ce n'est pas un gros problème ou quoi que ce soit, mais vous pouvez remplacer votre tableau de type vide étant passé dans GetConstructor avec Type.EmptyTypes. Juste un peu plus propre, c'est tout. – Kilhoffer

8

Vous pouvez utiliser la réflexion pour cela:

Type t = typeof(Car); 
System.Type genericType= generic.MakeGenericType(new System.Type[] { t}); 
Activator.CreateInstance(genericType, args); 
Questions connexes