陳述句片段:
private void DrawPool(ref cSapModel SapModel)
{
double dPoolLen = this.m_wndData.m_dPoolLen;
double dPoolWidth = this.m_wndData.m_dPoolWidth;
double topLevel = this.m_wndData.GetTopLevel();
double z = this.m_wndData.GetBottomLevel();
SapModel.SetPresentUnits(eUnits.kN_m_C);
string[] array = new string[6];
Array[] array2 = new Array[6];
Array[] array3 = new Array[6];
Array[] array4 = new Array[6];
Point3d point3d = new Point3d(0.0, 0.0, topLevel);
Point3d point3d2 = new Point3d(dPoolLen, 0.0, topLevel);
Point3d point3d3 = new Point3d(dPoolLen, dPoolWidth, topLevel);
Point3d point3d4 = new Point3d(0.0, dPoolWidth, topLevel);
Point3d point3d5 = new Point3d(0.0, 0.0, z);
Point3d point3d6 = new Point3d(dPoolLen, 0.0, z);
Point3d point3d7 = new Point3d(dPoolLen, dPoolWidth, z);
Point3d point3d8 = new Point3d(0.0, dPoolWidth, z);
this.GetPointArrary(point3d, point3d4, point3d3, point3d2, ref array2[0], ref array3[0], ref array4[0]);
SapModel.AreaObj.AddByCoord(4, ref array2[0], ref array3[0], ref array4[0], ref array[0], "TopArea", "0", "Global");
this.topArea = array[0];
this.GetPointArrary(point3d, point3d2, point3d6, point3d5, ref array2[1], ref array3[1], ref array4[1]);
SapModel.AreaObj.AddByCoord(4, ref array2[1], ref array3[1], ref array4[1], ref array[1], "WallArea", "1", "Global");
this.wallAreaxz = array[1];
this.GetPointArrary(point3d4, point3d, point3d5, point3d8, ref array2[2], ref array3[2], ref array4[2]);
SapModel.AreaObj.AddByCoord(4, ref array2[2], ref array3[2], ref array4[2], ref array[2], "WallArea", "2", "Global");
this.wallAreayz = array[2];
this.GetPointArrary(point3d5, point3d6, point3d7, point3d8, ref array2[3], ref array3[3], ref array4[3]);
SapModel.AreaObj.AddByCoord(4, ref array2[3], ref array3[3], ref array4[3], ref array[3], "BottomArea", "3", "Global");
this.bottomArea = array[3];
this.GetPointArrary(point3d3, point3d4, point3d8, point3d7, ref array2[4], ref array3[4], ref array4[4]);
SapModel.AreaObj.AddByCoord(4, ref array2[4], ref array3[4], ref array4[4], ref array[4], "WallArea", "4", "Global");
this.wallAreaxzy = array[4];
this.GetPointArrary(point3d2, point3d3, point3d7, point3d6, ref array2[5], ref array3[5], ref array4[5]);
SapModel.AreaObj.AddByCoord(4, ref array2[5], ref array3[5], ref array4[5], ref array[5], "WallArea", "5", "Global");
this.wallAreayzx = array[5];
}
這句this.GetPointArrary(point3d, point3d4, point3d3, point3d2, ref array2[0], ref array3[0], ref array4[0]);里的ref array2[0], ref array3[0], ref array4[0]需要“System.Array”,而SapModel.AreaObj.AddByCoord(4, ref array2[0], ref array3[0], ref array4[0], ref array[0], "TopArea", "0", "Global");卻需要“ref double[]”
為了升級,移植后出現這樣問題。
uj5u.com熱心網友回復:
System.Array里面都是object,而你double是指定了型別的,所以你應該傳對應的Array進去,然后你再debug看能不能結果轉成你要的uj5u.com熱心網友回復:
這是個軟體的API,AOPI里要求用ref double[]”,在低版本時沒有錯誤,移植到高版本出現這樣問題。uj5u.com熱心網友回復:
如果你的陣列的確是double[],可以加上強制型別轉換看看。uj5u.com熱心網友回復:
定義陣列用double[] ,不要用Array,即可編譯通過轉載請註明出處,本文鏈接:https://www.uj5u.com/net/85037.html
標籤:C#
上一篇:求助大佬這怎么寫C#
