How To SomeFunction(List <acceptdifferenttypeshere> list){/ *反射的东西* /} </接受不同的类型>

时间:2012-01-18 15:13:36

标签: c# asp.net function collections

我想从列表中生成一个DataTable。

所以f.e.我有两个清单

List<typeA> listA = new List<typeA>(); 
List<typeB> listB = new List<typeB>();

如何才能获得一个函数接受具有不同元素类型的两个(或多个)列表?

private void someFunction(List<acceptDifferentTypesHere> list)
{ 
   /*elementwise reflection stuff*/
} 

任何帮助都会很好,

哈利

1 个答案:

答案 0 :(得分:1)

如果您想对不同类型(访问方法,属性)执行更多操作。

 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作为typeA和typeB等的推广。)