无法将类型'ServiceReference1.StockData []'隐式转换为Systems.Collections.Generic.List <StockData>

see*_*ker 2 .net c# asp.net wcf

我正在尝试使用返回表单中自定义列表的WCF服务List<StockData>.

以下是方法签名IService.cs:

 [OperationContract]
     List<StockData> orderStockData(string compName1, string compName2, string compName3);
Run Code Online (Sandbox Code Playgroud)

但是当我尝试通过服务引用在我的网站中引用它时:

List<StockData> list = new List<StockData>();
list = myProxy.orderStockData(txtinput1.Text, txtinput2.Text, txtinput3.Text);
Run Code Online (Sandbox Code Playgroud)

我收到以下错误:

无法将类型'ServiceReference1.StockData []'隐式转换为Systems.Collections.Generic.List

解决这个问题的任何帮助都会很棒.谢谢!

Hab*_*bib 17

当您添加的引用到你的网站,然后在DataType==> Collection Type您指定的System.Array,(这是默认的为好),这就是为什么你的代理服务器返回你的阵列,而不是名单.

在此输入图像描述

添加对Web服务的引用时,请转到提前并指定System.Collection.Generic.List,您将获得与合同中相同的返回类型.

但是如果您不想这样做,您仍然可以使用Array并将其转换为List ToList

编辑:

喜欢:

List<StockData> list = new List<StockData>();
list=(myProxy.orderStockData(txtinput1.Text, txtinput2.Text, txtinput3.Text)).ToList();
Run Code Online (Sandbox Code Playgroud)