2009-04-13 4 views
1

私はそうのようなクラスBodyPartUrlsのジェネリックリストを返すメソッドを呼び出すWebサービスを持っている:シルバー:代わりに、ジェネリックリストののObservableCollectionを返すWebサービスメソッド

public List<BodyPartUrls> getCharacterClassBody(int characterClassID) 
{ 
    var bpulst = new List<BodyPartUrls>(); 
    var iqcb = ydc.ClassBodies.Where(cb => cb.characterClassID == characterClassID); 

    foreach (var icb in iqcb) 
    { 
     var bpu = new BodyPartUrls(); 
     bpu.bodyPartName = icb.BodyPart.bodyPartName; 
     bpu.bodyName = icb.Body.bodyName; 
     bpu.puppetID = characterClassID; 
     bpulst.Add(bpu); 
    } 
    return bpulst; 
} 

BodyPartUrlsは、文字列と整数プロパティで構成され、ということに注意してくださいydcはdatacontextを参照しています。 Webサービスでのこのコード:

[WebMethod] 
    public List<BodyPartUrls> getCharacterClassBody(int characterClassID) 
    { 
     return b.getCharacterClassBody(characterClassID); 
    } 

私は、次のコードをutalised Silverlightのメソッドを呼び出すために:メソッドpu.GetUrlForResource

public void initialiseBodiesSoapClientClient() 
{ 
    string webServiceUrl = pu.GetUrlForResource("Bodies.asmx"); 
    System.ServiceModel.BasicHttpBinding binding = new System.ServiceModel.BasicHttpBinding(); 
    EndpointAddress endpoint = new EndpointAddress(webServiceUrl); 
    bsc = new BodiesRef.BodiesSoapClient(binding, endpoint); 
    bsc.getCharacterClassBodyCompleted += new EventHandler<Yambushi.BodiesRef.getCharacterClassBodyCompletedEventArgs>(bsc_getCharacterClassBodyCompleted); 
} 

をGETはWebサービスがホストされている場所のURLは、以下があります方法bsc_getCharacterClassBodyCompleted

void bsc_getCharacterClassBodyCompleted(object sender, Yambushi.BodiesRef.getCharacterClassBodyCompletedEventArgs e) 
{ 
    bpulist = e.Result; 
} 

bpulistが何らかの理由e.Result私のために、BodyPartUrlsの一般的なリストであります一般リストの代わりにObservableCollectionを返します。私は他の一般的なリストを取得するのに似たコードを持っていますので、なぜこれが違うのか理解できません。

答えて

5

[サービス参照の設定]をクリックします。 [データ型]セクションでは、コレクションまたは辞書に戻すタイプを選択できます。

+0

Hehは、すべてのコード、歓声 – Drahcir

関連する問題