我有一个使用泛型的方法,因此开发人员可以输入他们选择的模型,可以是任何类型(用户,雇主......),这些都是自定义类。
我想列出这种类型。
这样的事情:
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()>
}
因为这是一个动作
答案 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 method和T
将在编译时针对所有情况使用您的类型进行更改。这一行:
new List<T>(model)
只需要使用方法的List<T>
初始化IEnumerable<T>
。