将列表转换为[WebMethod]的数组

时间:2012-01-05 18:13:25

标签: arrays list webmethod

据我所知,您无法在标准的.asmx webservice中返回通用列表。但是我相信你可以返回一个数组[]。我的问题是将列表转换为数组。有人可以帮忙吗? 我有一堆业务对象已经返回一个类型列表,所以我不打开将原始对象转换为数组......

这是我的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折:无法隐式转换类型BookDTO.Book []到GenericList

无法将GenericList类型隐式转换为

1 个答案:

答案 0 :(得分:0)

因为你已经声明obj是一个列表,而不是一个数组。试试这个:

[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;
}