托管类与非托管类转换问题

public unsafe  List<T> BreakDuct(T Pipe,DPoint3d CompEndPoint,DPoint3d BreakEndPoint)
        {
           
            _dPoint3d compEndPoint;
            _dPoint3d breakEndPoint;
         
            IntPtr nativeEndPointPtr = new IntPtr((void*)&compEndPoint);
            ComponentHelper.Instance.ConvertToNativePoint3d(nativeEndPointPtr, CompEndPoint);
           

            
            ShowInfoMessage(String.Format("CompEndPoint X={0} Y={1} Z={2}", CompEndPoint.x, CompEndPoint.y, CompEndPoint.z), "");
            ShowInfoMessage(String.Format("compEndPoint X={0} Y={1} Z={2}", *(double*)&compEndPoint, *(double*)(&compEndPoint + 8), *(double*)(&compEndPoint + 16)), "");

            IntPtr nativebreakEndPtr = new IntPtr((void*)&breakEndPoint);
            ComponentHelper.Instance.ConvertToNativePoint3d(nativebreakEndPtr, BreakEndPoint);

            
            ShowInfoMessage(String.Format("BreakEndPoint X={0} Y={1} Z={2}", BreakEndPoint.x, BreakEndPoint.y, BreakEndPoint.z), "");
            ShowInfoMessage(String.Format("breakEndPoint X={0} Y={1} Z={2}", *(double*)&breakEndPoint, *(double*)(&breakEndPoint + 8 ), *(double*)(&breakEndPoint + 16 )), "");

            return new List<T>();
        }

代码如上,托管类转换为非托管类后,每次输出都无法得到想要的结果,请大侠指点!谢谢了!

Parents Reply Children
No Data