【发布时间】:2010-12-07 11:38:40
【问题描述】:
我有一个返回二维数组数据的 C# web 服务。由于我们不能让 web 服务返回多维数据,所以我让它返回一个锯齿状数组。
[OperationContract]
object[][] WSGetData();
我有一个 COM Visible C# 类库。这是一个使用此服务并将其原样提供给 Excel VBA 客户端的薄层。 (出于某些原因,我们选择不通过 VSTO 或 Web Services References Toolkit 路由。)
class Wrapper
{
public object[][] GetData()
{
return WSproxy.WSGetData(); //Calling the webservice method
}
}
我在 VBA 中调用该方法如下。
Dim data as Variant
data = wrapperObj.GetData();
我收到类型不匹配错误。
当我更改 Wrapper 类以在返回 VBA 之前将 Web 服务的“锯齿状数组”输出转换为多维输出(即 object[,])时,它工作正常。但我不想这样做,因为它会影响性能,因为我们将传递大量数据。
请问,实现这一目标的最佳方法是什么。 感谢您的任何指示..
【问题讨论】: