У меня такой код:
Type typPrecise = MostPrecise(typeof(int), typeof(double));//Evaluates to double
var varGeneric = typeof(Number<>);
var varSpecific = varGeneric.MakeGenericType(typPrecise);
dynamic nmNumber = Activator.CreateInstance(varSpecific);
nmNumber имеет динамический тип и, по существу, создает общий номер. Как я могу указать количество элементов в Number.
Я в основном хочу это сделать, но используя динамический код выше:
Number<typPrecise> whatever = new Number<typPrecise>(10);
Ответ с использованием понятий 4.0 приветствуется.
Вызвать перегрузку Activator.CreateInstance, которая принимает аргументы конструктора:
dynamic nmNumber = Activator.CreateInstance(varSpecific, new object[] { 10 });
Кстати, обратите внимание, что конструктор List<T>(int)
устанавливает начальную емкость List, а не начальное количество элементов (Count). Начальный граф всегда равен 0.