我一直在尝试从WebService返回一个ArrayList,我很困惑如何得到它,因为我收到一条错误消息说
“无法将类型'object []'隐式转换为'System.Collections.ArrayList'”。
以下是Web服务名称DDRParserService.asmx的代码。
public ArrayList PVTLog(string reqNo, string groupNo, string filePath)
{
ArrayList logData = new ArrayList();
//Calling the Parsing Logic file
logData = ParsePVTLog_Service(reqNo, groupNo, filePath);
// I get the ArrayList in logData and return it
return logData
}
我使用Web服务的代码:
private void btnParse_Click(object sender, EventArgs e)
{
string strFilePath = txtOpenFile.Text;
string serialNo = txtSerialNumber.Text;
string groupNo = txtGroupNumber.Text;
ArrayList data = new ArrayList();
if (txtOpenFile.Text != "")
{
DDRParsingService.DDRParserService client = new DDRParsingService.DDRParserService();
// Call the Web Service
data = client.PVTLog(serialNo, groupNo, strFilePath);
// I get the error : Cannot implicitly convert type 'object[]' to 'System.Collections.ArrayList'
}
}
如果您可以帮助我处理此问题并访问Web服务返回的ArrayList中的数据,那将会很棒。
提前致谢!
答案 0 :(得分:1)
答案 1 :(得分:0)
调用Web Service时,我所要做的就是将Web Service中返回的对象声明为新的ArrayList。
在我发布的上述代码中,我将Web服务称为:
private void btnParse_Click(object sender, EventArgs e)
{
string strFilePath = txtOpenFile.Text;
string serialNo = txtSerialNumber.Text;
string groupNo = txtGroupNumber.Text;
ArrayList data = new ArrayList();
if (txtOpenFile.Text != "")
{
DDRParsingService.DDRParserService client = new DDRParsingService.DDRParserService();
// Call the Web Service
data = client.PVTLog(serialNo, groupNo, strFilePath);
// I get the error : Cannot implicitly convert type 'object[]' to 'System.Collections.ArrayList'
}
}
但我所要做的就是:
data = new ArrayList(client.PVTLog(serialNo, groupNo, strFilePath));
即。将Web服务中返回的对象[]声明为新的ArrayList!