2017-11-11 32 views
-2

私はCountryクラスとCountryBOクラスを持っています。 メインクラスからは、私はCountryBOをインスタンス化しています。CountryBOのオブジェクトでは、 で定義されているメソッドを呼び出しています.CountryBOクラスはcreateCountryと呼ばれています。 このメソッドでは、Countryクラスのオブジェクトをインスタンス化し、いくつかの変数を設定して、新しく作成したオブジェクトの参照を返します。C#でオブジェクトの参照をリストに格納する方法は?

public Country createCountry(String data) 
    { 
     string [] countryDetail = data.Split(','); 
     Country myCountry = new Country(); 
     myCountry._countryCode=countryDetail[2]; 
     myCountry._isdCode=countryDetail[1]; 
     myCountry._name=countryDetail[0]; 
     return myCountry; 
    } 

ここで、呼び出し元のメインクラスでは、作成されたカントリークラスのすべてのオブジェクトのリストを作成します。 しかし私はそれをすることができません。

CountryBO myCountryBO = new CountryBO(); 
    Country[] countryList = new Country[]; 
    countryList = myCountryBO.createCountry(countryDetails); 
    countryCount +=1; 
+1

両方のクラスの定義を投稿できますか?また、どのようなエラーが発生する? –

+0

代わりに 'List 'を使うと、 'list.Add(myCountryBO.createCountry)'を使うことができます。配列は、汎用リストほど豊富ではありません。 – Charleh

+0

問題は正しく定義されていません。countryCountは静的である必要がありますか?私はあなたが達成しようとしていることを確信していません。 – Protium

答えて

1

あなたはList<Country>なくCountry[]を使用する必要があります。

はこれを試してみてください:

Country[] countryList = new List<Country>(); 
CountryBO myCountryBO = new CountryBO(); 
countryList.Add(myCountryBO.createCountry(countryDetails)); 
0

私はこれを試してみましたが、それはうまくいきませんでした。私は彼がリスト内のオブジェクトの参照を返す捕獲し、リストクラスにToArrayメソッドを使用してアレイに帽子を変換してなかった何

代わりに
Country[] countryList = new List<Country>(); 
CountryBO myCountryBO = new CountryBO(); 
countryList.Add(myCountryBO.createCountry(countryDetails)); 

、。

List<Country> countryList_temp = new List<Country>(); 
countryList_temp.Add(myCountryBO.createCountry(countryDetails)); 
Country[] countryList = countryList_temp.ToArray(); 
関連する問題