2017-01-27 9 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>();)。

public void testList<T>(List<T> X) 
    { 
     // Whatever you want to do with your list. 
    } 

さらに、静的メソッドから呼び出すように見えますが、メソッドにも静的メソッドを追加するようにしてください。

希望すると助かります!

関連する問題