Я не думаю, что это можно сделать в C #, но опубликовать это просто для уверенности. Вот моя проблема. Я хотел бы сделать что-то подобное в C #:
var x = 10;
var l = new List<typeof(x)>();
или
var x = 10;
var t = typeof(x);
var l = new List<t>();
Но, конечно, это не работает. Хотя это не должно быть проблемой, так как тип t решается во время компиляции. Я понимаю, что это можно решить с помощью отражения, но поскольку типы известны во время компиляции, использование отражения было бы излишним.