如何使用someFunction(List<;acceptDifferentTypesHere>;List){/
本文关键字:List gt acceptDifferentTypesHere lt 何使用 someFunction | 更新日期: 2023-09-27 18:20:35
我想从列表中生成一个DataTables。
所以f.e.我有两份名单
List<typeA> listA = new List<typeA>();
List<typeB> listB = new List<typeB>();
如何获得一个接受两个(或多个)具有不同元素类型的列表的函数?
private void someFunction(List<acceptDifferentTypesHere> list)
{
/*elementwise reflection stuff*/
}
任何帮助都很好,
Harry
private void someFunction<T>(List<T> list)
{
/*elementwise reflection stuff*/
}
使用如下
someFunction<typeA>(listA);
someFunction<typeB>(listB);
如果您想用不同的类型(访问方法、属性)做更多的事情。
private void someFunction<T>(List<T> list) where T : MyType, new()
{
/*elementwise reflection stuff*/
var instance = new T();
Type type = instance.GetType();
instance.MyMethod();
}
public class MyType
{
public void MyMethod()
{
}
}
你可以进一步扩展这个。。(例如,使用MyType作为类型a和类型B的泛化。等)