在我的应用程序中,我试图从我的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
答案 0 :(得分:1)
如异常中所述,您可以将dLP变量转换为object并查看它是否有效。基本上它应该看起来像,
gaInfo.GetFormationZPoints(targetReservoir.TargetLayerName, ref (object) dLPs);