2009-05-07 4 views
3

私は、呼び出されると、リストを含むResultオブジェクトを多相的に返します。しかし、クライアントアプリケーションで参照を追加すると、パブリックフィールドはクライアントアプリケーションの国の配列になります。クライアントアプリケーションのフィールドをListに変更するにはどうすればよいですか? リスト<Country>は、WebサービスでCountry []になります

は、右サービス参照をクリックし、 "設定リファレンス" を選択します。

public Result GetCountryList() 
{ 
    List<Country> countries = GrabCountryList(); 
    Result result = new Result(); 
    result.theResult = countries; 
} 

が、これはメフメトAras社からのパブリックプロパティ

public object theResult 
{ 
    get {return _theResult; } 
    set {_theResult = value;} 
} 


受け入れ答えです。コレクションの種類で、System.Collection.Generic.Listを選択します。サービス参照を更新してください。

アレイから新しいリストを作成する提案のためのMatt Hamiltonに感謝します。

答えて

8

:リストの再構築

は同じくらい簡単です。コレクションの種類を選択することができ、その中にリストがあります。

9

自分でリストを再構成する必要があると思います。 Webサービスは言語に依存しないと考えられており、List<T>は.NETフレームワークの一部であるため、シリアル化された戻り値の一部にすることはできません。あなたはVS2008を使用している場合は、クライアントプロキシの生成を制御できるようにするサービスの参照設定フォーム上の[詳細設定]ボタンがある

var countries = new List<Country>(result.theResult); 
関連する問題