Создать список типов переменных

17

Я пытаюсь создать список определенного типа.

Я хочу использовать нотацию List, но все, что я знаю, это «System.Type»

Тип a имеет переменную. Как создать список типа переменной?

Я хочу что-то похожее на этот код.

public IList createListOfMyType(Type myType)
{
     return new List<myType>();
}
    
задан Jan 22.03.2010 в 15:59
источник

2 ответа

13

Вы можете использовать Reflections, вот пример:

    Type mytype = typeof (int);

    Type listGenericType = typeof (List<>);

    Type list = listGenericType.MakeGenericType(mytype);

    ConstructorInfo ci = list.GetConstructor(new Type[] {});

    List<int> listInt = (List<int>)ci.Invoke(new object[] {});
    
ответ дан Andrew Bezzub 22.03.2010 в 16:04
источник
29

Что-то вроде этого должно работать.

public IList createList(Type myType)
{
    Type genericListType = typeof(List<>).MakeGenericType(myType);
    return (IList)Activator.CreateInstance(genericListType);
}
    
Список
ответ дан smencer 22.03.2010 в 16:13
источник