Je ne pense pas que cela puisse être fait en C#, mais en publiant cela juste pour être sûr. Voici mon problème. Je voudrais faire quelque chose comme ça en C#:Types génériques avec paramètre de type en C#
var x = 10;
var l = new List<typeof(x)>();
ou
var x = 10;
var t = typeof(x);
var l = new List<t>();
Mais bien sûr, cela ne fonctionne pas. Bien que cela ne devrait pas être un problème car le type t est résolu au moment de la compilation. Je comprends que cela peut être résolu avec la réflexion, mais comme les types sont connus au moment de la compilation, l'utilisation de la réflexion serait excessive.
Est-x aura toujours 10 ou est-ce juste une preuve de concept? Je me demande simplement si vous pouvez éviter d'utiliser le mot-clé var. –
C'est juste une preuve d'un concept. J'essayais d'utiliser ce type de code pour Func <> et Expression <> pour se débarrasser de la frappe redondante. Donc le type pourrait être déclaré explicitement:
– Max