2013-05-25 11 views
3

在我的C#解決方案中,我有多個項目。來自另一個項目的公共靜態類「由於其保護級別而無法訪問」

其中之一是OdulaProject(XNA WP7遊戲)。 (I) 的主要項目是編輯器(WinForms應用程序)(II)

在(I)是這樣的一段代碼:

namespace OdulaProject.GameCore.Resources 
{ 
    public class MyLevel 
    { 
     // TODO: remove!!! 
     public static Vector3 GetFieldPosition(Point coordinates) 
     { 
      return new Vector3(coordinates.X * MyGameConstants.FieldSize.X, coordinates.Y * MyGameConstants.FieldSize.Y, 0); 
     } 
    } 
} 

在(II)我得(I基準),這一段代碼:

using OdulaProject.GameCore.Resources; 

... 

MyLevel.GetFieldPosition(new Point(0, 0)); 

而且我仍然得到連接錯誤:

'OdulaProject.GameCore.Resources.MyLevel' is inaccessible due to its protection level

+3

您是否嘗試重建您的整個解決方案? – shriek

+1

你確定沒有錯誤地重複OdulaProject.GameCore.Resources.MyLevel嗎? – Liel

+0

是的,試圖重建沒有成功... 重複?猜猜它應該是重複的免費。但我在兩個解決方案(遊戲解決方案和編輯器解決方案)之間共享OdulaProject項目 - 這可能是一個問題嗎? – user2420644

回答

0

這看似棘手,BU在有多個項目的解決方案中,有些可能需要公開其他人不需要。公開慷慨地向犯錯誤的類/靜態內部添加可以幫助調試缺失的可訪問性。

不用說,這些應該都是事後重新評估。

相關問題