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

Jam*_*ken 2 c# visual-studio-2013

我正在尝试抽象出一个方法,以便我可以将它用于我的所有List对象.

目前我的方法声明如下:

private void GetResults(List<myclass1> testList, List<myclass1> masterList, string tableName)
Run Code Online (Sandbox Code Playgroud)

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

private void GetResults(List<object> testList, List<object> masterList, string tableName)
Run Code Online (Sandbox Code Playgroud)

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

我正在调用这样的方法:

List<myclass1> testList = new List<myclass1>();
List<myclass1> masterList = new List<myclass1>();
GetResults(testList, masterList, "form_table");
Run Code Online (Sandbox Code Playgroud)

有没有办法做到这一点?

Sel*_*enç 9

您可以使用 Generics

private void GetResults<T>(List<T> testList, List<T> masterList, string tableName)
Run Code Online (Sandbox Code Playgroud)

该类型T将使用基于您的参数类型推断.

这假设两个参数都是相同的类型.如果它们不相同,则需要另一个参数用于第二个参数.