2

我有一个使用这种方法的网络服务:

[WebMethod]
public int[] stringTest(string[] tString)
{

    int numberOfStrings = tString.Length;
    int[] returnS = new int[numberOfStrings];
    for (int i = 0; i <= numberOfStrings; i++)
    { 
        returnS[i] = 1;

    }
    return returnS;
}

然后我试图从客户端程序向它传递一个字符串数组,如下所示:

var client = new WebServiceSample.WebService1SoapClient();
string[] parameterNames = { "Windsensor","Temperature sensor"};
test = client.stringTest(parameterNames);

但我收到这些错误:

'SoapWebServiceClient.WebServiceSample.WebService1SoapClient.stringTest(SoapWebServiceClient.WebServiceSample.ArrayOfString)' 的最佳重载方法匹配有一些无效参数

参数 1:无法从 'string[]' 转换为 'SoapWebServiceClient.WebServiceSample.ArrayOfString'

我的代码有什么问题?

4

2 回答 2

3

试试这个

SoapWebServiceClient.WebServiceSample.ArrayOfString arrString = SoapWebServiceClient.WebServiceSample.ArrayOfString();

arrString.AddRange(parameterNames);

或者

arrString.Add(....); //if that exists

检查这些链接

希望有帮助!

于 2012-10-21T06:31:44.867 回答
0

一个简单的方法是:

在 JavaScript 中构建一个新数组:

var myArray = new Array();
myArray.push([value1, value2,...]);

在 C# 中,只需创建一个ICollection参数即可获取您的矩阵:

[WebMethod(EnableSession = true)]
public MyMethod[] GetMatrixFromJavascript(System.Collections.ICollection myArray)
{ 
   ... 
}
于 2017-07-28T14:59:32.073 回答