有没有办法将列表设置为模型类型?

时间:2015-03-23 13:59:33

标签: c# asp.net-mvc list datamodel

我有一个使用泛型的方法,因此开发人员可以输入他们选择的模型,可以是任何类型(用户,雇主......),这些都是自定义类。

我想列出这种类型。

这样的事情:

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

编辑: 澄清: 让我们说这个方法是一个动作,如果我想从一个视图调用这个动作并返回一个结果,但是想传递一个任意模型。我知道动作不能使用泛型。

我们可以做类似的事吗

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

因为这是一个动作

3 个答案:

答案 0 :(得分:3)

也许你需要

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

答案 1 :(得分:1)

T表示类型

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

答案 2 :(得分:1)

你真的不明白你在做什么。我想你的方法应该是这样的:

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

您不需要获取模型类型,因为它generic methodT将在编译时针对所有情况使用您的类型进行更改。这一行:

new List<T>(model)

只需要使用方法的List<T>初始化IEnumerable<T>