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)
有没有办法做到这一点?
您可以使用 Generics
private void GetResults<T>(List<T> testList, List<T> masterList, string tableName)
Run Code Online (Sandbox Code Playgroud)
该类型T将使用基于您的参数类型推断.
这假设两个参数都是相同的类型.如果它们不相同,则需要另一个参数用于第二个参数.