1

こんにちは、WCF サービスを使用して DB からデータを取得するアプリに取り組んでいます。しかし、電話で結果を表示したい場合、VSでエラーが表示されます。WCF で MachineEntity から Machine に変換してから、それをクライアント アプリに送信しています。

を参照して、エラーは次のe.Resultとおりです。

タイプ 'WP7App.WCFService.Machine' を 'System.Collections.IEnumerable' に暗黙的に変換することはできません。明示的な変換が存在します (キャストがありませんか?)

public FoundProduct(int s)
{
    InitializeComponent();
    Service1Client proxy = new Service1Client();
    proxy.GetMachineCompleted += new
    EventHandler<GetMachineCompletedEventArgs>(proxy_GetMachineCompleted);
    proxy.GetMachineAsync(s);
}

void proxy_GetMachineCompleted(object sender, GetMachineCompletedEventArgs e)
{
    listBox1.ItemsSource = e.Result;
}
4

1 に答える 1

0

エラー メッセージにあるように、 のItemsSourceプロパティにはListBox、インターフェイスを実装するオブジェクトが必要IEnumerableです。つまり、ほとんどの場合、要素のコレクションです。

がオブジェクトのコレクションであると想定されている場合Machineは、なぜそれが実装されていないのかを理解する必要がありますIEnumerable(これを理解するのに十分なコンテキスト情報がありません)。

ただし、Machineが単一のオブジェクトに割り当てたい場合ListBox(奇妙に聞こえますが...)、それをコレクションにラップできます。

listBox1.ItemsSource = new[] { e.Result };
于 2012-11-19T20:45:28.637 に答える