2011-04-03 111 views
1

我有一個以C#2008 express編碼的項目。它在C#2008中運行時沒有問題。 我跑了它在C#2010 Express中,轉換後,不幸的是,我收到以下錯誤信息:C#2010中的錯誤消息

"Specified value of type 'System.Windows.Media.Media3D.Point3DCollection' must have IsFrozen set to false to modify."

的地方,我得到的錯誤:

private MeshGeometry3D GetShipAxisConeX_Mesh3D() 
     { 
      Point3D[] AxisCone_pts = GetAxisConeVertices(); 
      for (int say11 = 0; say11 <= 306; say11++) 
      { 
       ShipAxisConeMeshX.Positions.Add(AxisCone_pts[say11]); // HERE 
      } 

. 
. 
. 

請幫我解決這個問題。

問候,

+0

非常感謝您的回覆。問題是:如何解凍? – user689908 2011-04-03 15:17:03

+0

非常感謝你。問候。 – user689908 2011-04-03 15:35:05

+0

對不起,您能否說我爲什麼在C#2008中沒有任何問題。 – user689908 2011-04-03 15:47:02

回答

0

目的是凍結的:http://msdn.microsoft.com/en-us/library/system.windows.freezable%28v=vs.85%29.aspx

除非您解凍它這意味着它的不可變的。

要解凍對象,您必須克隆它,請參閱:http://msdn.microsoft.com/en-us/library/ms750509%28v=VS.85%29.aspx#frozenfreezables(向下滾動以解凍凍結)。

+0

@ user689908 - (您的評論應該回復@chotcki而不是您的原始文章) - 您需要了解在什麼情況下它會被凍結。隨着您在使用的框架中發生一些重大變化,您可能無法隨時解凍您想要做的事情嗎? – 2011-04-03 15:20:12