2015-03-23 2 views
0

У меня есть метод, который использует generics, поэтому разработчик может войти в модель по своему выбору, которая может быть любым типом (пользователем, работодателем, ...), это все пользовательские классы.Есть ли способ установить список типов моделей?

Я хочу составить список этого типа.

Что-то вроде этого:

Public void makeList<T>(IEnumerable<T> model){ 
    List<model.getType()> list = new List<model.getType()> 
} 

EDIT: Разъяснение: позволяет сказать, что этот метод был поступок, если я хотел назвать эту акцию с целью и возвращать результат, но хотел передать произвольный модель. Я знаю, что действия не могут использовать дженерики.

Можем ли мы сделать что-то вроде

Public void makeList(IEnumerable<Dynamic> model){ 
    List<model.getType()> list = new List<model.getType()> 
} 

Поскольку это действие

ответ

3

может быть, вам нужно

List<T> list = new List<T>(); 
1

T представляет тип

Public void makeList<T>(IEnumerable<T> model){ 
    List<T> list = new List<T>(); 
} 
1

Вы действительно d не понимаешь, что делаешь. Я полагаю, вы метод должен выглядеть следующим образом:

public void makeList<T>(IEnumerable<T> model) 
{ 
    List<T> list = new List<T>(model); 
} 

Вам не нужно, чтобы получить тип модели becouse это generic method и T будет изменен с вашим типом во время компиляции для всех случаев. Эта линия:

new List<T>(model) 

Только нужно инициализировать ваш List<T> с IEnumerable<T>, который приходит к методу.

Смежные вопросы