2
我有一個返回二維數組數據的C#web服務。由於我們不能讓webservices返回多維數據,所以我讓它返回一個鋸齒狀的數組。從C#webservice返回多維數組數據到vba
[OperationContract]
object[][] WSGetData();
我有一個COM Visible C#類庫。這是一個使用此服務的薄層,並將其提供給Excel VBA客戶端。 (對於某些原因,我們選擇了不通過VSTO去,或Web Services參考工具包的路由。)
class Wrapper
{
public object[][] GetData()
{
return WSproxy.WSGetData(); //Calling the webservice method
}
}
我調用該方法在VBA如下。
Dim data as Variant
data = wrapperObj.GetData();
我得到類型不匹配錯誤。
在返回到VBA之前,當我更改Wrapper類以將Web服務的「鋸齒陣列」輸出轉換爲多維輸出(即。object [,])時,它工作正常。但我不想這樣做,因爲它會影響性能,因爲我們會傳遞大量數據。
請實現此目的的最佳方法是什麼? 感謝您的任何指示..