2013-05-25 1 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

Это может показаться сложным, бу t в решении с несколькими проектами, некоторые из них могут потребовать публики, а другие - нет. Добавление публики либерально, к классу-нарушителю/статическим внутренним возможностям может помочь отладить недостающую доступность.

Само собой разумеется, что все они должны быть переоценены после штока.