2012-03-10 11 views
0

我正在嘗試在MonoTouch中將數組提交給vb.net Web服務。下面是Web服務:參數'#1'不能將字符串[] []'表達式轉換爲鍵入'字符串' - MonoTouch

Public Function Add_Array(ByVal arr()() As String, ByRef sMessage As String) As Boolean 
Dim a, b, c As String a = arr(1)(0) b = arr(1)(1) c = arr(1)(2) sMessage = a + ", " + b + ", " + c + ". Submittion was recieved, and Second items are showen." 
Return True 
End Function 

,我首先要添加Web引用添加的Web服務,將在Web Service URL,並選擇.NET 2.0 Web服務作爲框架,然後wsFish作爲參考。

這裏是我的MonoTouch代碼:

wsFISH.Service1 wsArray; 
string[][] abc = new string[6][]; 
string[] xyz = new string[3]; 
string t=""; 

xyz[0] = 「a」; 
xyz[1] = 「b」; 
xyz[2] = 「c」; 
abc[0] = xyz; ... 

wsArray.Add_Array(abc, ref t); 

這是我收到的錯誤:「對‘Add_Array(字符串,裁判字符串)’最佳重載的方法匹配具有一些無效的參數參數‘#1’不能將'string [] []'表達式轉換爲'string'類型「

我已經編寫了monodouch之外的C#代碼,它將使用我在monotouch中使用的確切代碼訪問web服務。有任何想法嗎?

+0

它似乎不是'Add_Array(string [] [] arr,ref string sError)'是您引用的Web服務(生成的代碼)的一部分。你能編輯你的問題來添加(部分)生成的代碼(例如所有的Add_Array重載)嗎? – poupou 2012-03-10 15:44:04

+0

@poupou我是新來的,所以我不知道我是否完全明白你的意思是超負荷。我假設你的意思是Add_Arry中的不同變量。我已經完整地添加了Web服務,並描述瞭如何將Web服務添加到monotouch中。如果您需要更多信息,請與我們聯繫。謝謝! – JamesCBaird 2012-03-10 21:06:31

+0

這可能是生成的代碼的問題。它可能已經爲Add_Array生成代碼,其中字符串作爲第一個參數,而不是字符串的多維數組。我會檢查是否是這種情況。你可以手動修復。 – 2012-03-10 23:56:56

回答

0

這是我找到的答案。它有兩個部分。

首先,我需要添加正確的引用:

using System; 
using System.Drawing; 
using System.Data; 
using System.Collections; 
using MonoTouch.Foundation; 
using MonoTouch.UIKit; 
using System.Web.Services; 

其次,我使用的是鐵血陣列,它確實添加了一些問題。做@DaveFerguson建議(改變生成的代碼)是解決這個問題的方法。

相關問題