Créer une instance de type Generic avec une variable contenant le Type

Est-il possible d’atteindre le code suivant? Je sais que ça ne marche pas, mais je me demande s’il y a une solution de rechange?

Type k = typeof(double); List lst = new List(); 

Oui il y a:

 var genericListType = typeof(List<>); var specificListType = genericListType.MakeGenericType(typeof(double)); var list = Activator.CreateInstance(specificListType); 

Une méthode plus propre pourrait consister à utiliser une méthode générique. Faites quelque chose comme ça:

 static void AddType() where T : DataObject { Indexes.Add(typeof(T), new Dictionary()); } 

Essaye ça:

 var genericListType = typeof(List<>); var specificListType = genericListType.MakeGenericType(typeof(double)); var list = Activator.CreateInstance(specificListType);