0

在我的应用程序中,我试图从我的 WPF 应用程序中调用 ATL COM 类的函数。ATL COM 类的函数参数是这样的。

[id(5)] HRESULT GetFormationZPoints([in] BSTR sLyrName, [in,out] VARIANT* pLandingPoints);

在 WPF 方面,我试图像这样传递一个双精度的二维数组

List<PointsVector> landingPoints = Planner.LandingPointsList;
double[,] dLPs = new double[landingPoints.Count, 3];
int i = 0;
foreach (PointsVector v in landingPoints)
{
    dLPs[i, 0] = v.X;
    dLPs[i, 1] = v.Y;
    dLPs[i, 2] = v.Z;
    i++;
}
gaInfo.GetFormationZPoints(targetReservoir.TargetLayerName, ref dLPs);

我收到以下错误消息:

参数 2:无法从 'ref double[ , ]' 转换为 'ref object

4

1 回答 1

1

如异常中所述,您能否将 dLPs 变量转换为 object 并查看它是否有效。基本上它应该看起来像,

    gaInfo.GetFormationZPoints(targetReservoir.TargetLayerName, ref (object) dLPs);
于 2013-06-18T14:02:40.553 回答