我可以使用List <object>作为方法中的形式参数吗?</object>

时间:2015-03-20 14:27:47

标签: c# visual-studio-2013

我试图抽象出一个方法,这样我就可以将它用于我的所有List对象。

目前我的方法声明如下:

private void GetResults(List<myclass1> testList, List<myclass1> masterList, string tableName)

我想做的是将形式参数概括为:

private void GetResults(List<object> testList, List<object> masterList, string tableName)

然后我想传递我需要的任何类型的列表。这当然是给我一个编译错误(对于广义尝试)。

我调用的方法如下:

List<myclass1> testList = new List<myclass1>();
List<myclass1> masterList = new List<myclass1>();
GetResults(testList, masterList, "form_table");

有办法做到这一点吗?

1 个答案:

答案 0 :(得分:9)

您可以使用Generics

private void GetResults<T>(List<T> testList, List<T> masterList, string tableName)

T的类型将根据您的参数类型从使用情况中推断出来。

这假设两个参数都是相同的类型。如果它们不胜,那么第二个参数需要另一个通用参数。