2016-06-15 10 views
0

私はlistを返すメソッドを持っていて、そのリストをGetAndPostメソッドからTestメソッドに渡したいと思います。リストデータを他のメソッドに渡す方法

コード:

public List<string> GetAndPost() 
    { 
     Connection(); 
     con.Open(); 

     com = new SqlCommand("SELECT Statement ", con); 
     SqlDataReader reader = com.ExecuteReader(); 
     List<string> list = new List<string>(); 
     int i = 0; 
     while (reader.Read()) 
     { 

      TXNID = reader.GetValue(0).ToString(); 
      docType = reader.GetValue(1).ToString(); 
      docNo = reader.GetValue(2).ToString(); 
      ctryIssue = reader.GetValue(3).ToString(); 
      name = reader.GetValue(4).ToString(); 
      expDate = reader.GetValue(5).ToString(); 
      citizen = reader.GetValue(6).ToString(); 
      dob = reader.GetValue(7).ToString(); 

      gender = reader.GetValue(8).ToString(); 
      mbikeNo = reader.GetValue(9).ToString(); 
      mbikeExpDate = reader.GetValue(10).ToString(); 
      branch = reader.GetValue(14).ToString(); 
      status = reader.GetValue(12).ToString(); 
      if (status == "False") 
      { 


      } 

     } 
     reader.Close(); 

     Console.WriteLine(list); 
     return list; 

    } 

    public List<string> Test() 
    { 

    } 
+4

あなたのリストは常に空です。宣言して何も追加していないだけです。それが説明のためであることを願っています... – 3615

答えて

0

あなたはこの

Test(list); 

ようにそれを渡すことができ、これは試験方法は、それからちょうどあなたのテストを呼び出す

public void Test(List<string> list) 
{ 

} 
0
public List<string> Test(List<string> stringList) 
{ 

} 

のようになります方法ですあなたのリストをそれに渡すことによって、

Test(list); 
0

GetAndPostの出力を保持する変数を宣言すると仮定します。

var getAndPostList = GetAndPost(); 

... 
// Pass value to another function 
Test(getAndPostList); 

そして、あなたのTest機能のために、それはあなたがリスト

public void somefunction(List<YourType> dates) 
{ 
} 

として渡すことができ、文字列

public List<string> Test(List<string> getAndPostList) 
{ 
    ... 
} 
0

のリストは、しかし、それは(最も一般的なを使用することをお勧めします期待してください一般的な、ベースのような)インタフェースが可能なので、私は使用するでしょう

public void somefunction(IEnumerable<YourType> dates) 
{ 
} 

または

public void somefunction(ICollection<YourType> dates) 
{ 
} 
0

あなたTest()関数はそう(Test()が値を返さなければならないこと場合)のようにする必要があります:あなたのGetAndPost()機能で

public void Test(List<string> stringList) 
{ 

} 

return list; 

Test()ファンクション番号:

test(GetAndPost()); 

あなたGetAndPost()機能WithinnはTest()機能を呼び出したい場合にごreturnを置き換える:

test(list); 

とにGetAndPost()の宣言を変更:

public void GetAndPost() 
{ 
//YOUR CODE 
} 
0

あなたTest方法が期待するべきですこのリストを渡す場合はリスト引数。

public List<string> Test(List<string> list) 

このメソッドは、GetAndPostメソッドのどこからでも呼び出すことができます。

Test(list); 

あなたは、リストの内容を変更することが期待されている場合でもTestメソッドからリストを返す必要はありません。 Listはクラス型であり、参照として渡されます。 Testメソッドで同じリストを編集し、GetAndPostメソッドから変更にアクセスできます。

関連する問題