2017-01-27 29 views
1

我想創建一個接受任何類型的列表的方法,所以我不必創建一個方法來處理每一種列表對象類型。它說我的l對象變量是無效的。傳遞通用列表到方法

我的代碼

static void Main(string[] args) 
     { 
      List <Person> l; 
      testList(l); 
     } 

     public void testList(List<object> x) 
     { 

     } 
+0

你讓它工作?我希望我回答你的問題! :) – mindOfAi

回答

0
 static void Main(string[] args) 
     { 
      List <Person> list1; 
      testList<Person>(list1); 

      List <OtherClassObj> list2; 
      testList<OtherClassObj>(list2) 
     } 

     //Here T is type of object 
     public void testList<T>(List<T> x) 
     { 
      if (typeof(T) == typeof(Person)) 
       //Prosess Person's List 
     } 
+0

它的工作!謝謝! –

0

你需要讓你的方法也是通用的(通過添加一個泛型參數的方法)。這應該可行,但請確保您分配您的列表(例如List<Person l = new List<Person>();)。另外,只是一個提醒,看起來像你從一個靜態方法調用它,確保也添加靜態的方法以及。

希望它有幫助!