2012-01-05 13 views
0

標準の.asmx Webサービスでは一般的なリストを返すことはできません。しかし、私はあなたが配列[]を返すことができると信じています。私の問題は、リストを配列に変換することです。助けてもらえますか? 元のオブジェクトを配列に変換することはできませんので、すでにタイプリストを返すビジネスオブジェクトがたくさんあります。[WebMethod]のリストをリストに変換

ここは私のWebMethodです。

[WebMethod] 

    public Book[] GetBooksList() 

    { 

     List<Book> obj = new List<Book>(); 
     BookDA dataAccess = new BookDA();  

     obj = dataAccess.GetBooksAll().ToArray(); //error 1 here on conversion 

    return obj; //error 2 here 

    } 

私は受信エラーが2倍である:暗黙的にGenericList

に[]型BookDTO.Bookを変換できませんすでにobjがリストであったことを宣言しているため、暗黙的に

+0

の可能性のある重複:http://stackoverflow.com/questions/4093754/webmethod-returning-generic-list – Didaxis

答えて

0

に型GenericListを変換できません、ではありません配列。代わりにこれを試してみてください:

まだ
[WebMethod] 
public Book[] GetBooksList() 
{ 
    BookDA dataAccess = new BookDA(); 

    List<Book> obj = dataAccess.GetBooksAll(); 

    return obj.ToArray(); 
} 

またはそれ以上:

[WebMethod] 
public Book[] GetBooksList() 
{ 
    var dataAccess = new BookDA(); 

    var obj = dataAccess.GetBooksAll().ToArray(); 

    return obj; 
} 
+0

私はあなたの第一の提案を試してみましたreturn obj.ToArray(); と私はその行ではなく、行にエラーが表示されますobj = dataAccess.GetBooksAll() - >暗黙的に 'Generic.List 'を 'Generic.List 'に変換することはできません – midnightCoder

+0

あなたの問題があります。 BookDTO.BookはBookService.Bookと同じものではありません。あなたはまずそれをまっすぐにする必要があります。 – Didaxis

+0

私は今あなたのコンソールアプリをテストしていると思います。ありがとう! – midnightCoder

関連する問題