如何使用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

如何使用someFunction(List<;acceptDifferentTypesHere>;List){/

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的泛化。等)