Непоследовательная доступность: тип поля «мир» менее доступен, чем поле «frmSplashScreen».

У меня есть эта ошибка, называемая несовместимой доступностью:

тип поля «мир» менее доступен, чем поле «frmSplashScreen»

В моем коде есть общедоступный частичный класс с именем frmSplashScreen

Существует также публичный класс под названием world.

Строка, вызвавшая ошибку, была:

private world currentWorld; 

Вышеупомянутая строка находится в классе frmSplashScreen

Что вызывает проблему?


person user1761786    schedule 20.10.2012    source источник
comment
Можете ли вы показать больше фактического кода? Судя по сообщению об ошибке, класс frmSplashScreen на самом деле не является общедоступным или не является классом...   -  person Guffa    schedule 20.10.2012
comment
Проголосовали за то, что ничего не объясняют и загрязняют результаты поиска   -  person rhavin    schedule 26.03.2017


Ответы (4)


Обычно это происходит потому, что ваше поле private. Вы должны изменить его на public:

public world currentWorld;

Подробнее об этом читайте здесь: Ограничения на использование уровней доступности (справочник по C#)

person Leniel Maccaferri    schedule 20.10.2012
comment
... вы удалили свой комментарий, но получили другую ошибку. Это как первая ошибка. Вы должны изменить time2Craft на общедоступный. - person Leniel Maccaferri; 20.10.2012
comment
Что ж, похоже, у вас есть несоответствие в определениях ваших классов. Чтобы помочь вам больше, мне нужно увидеть код и сообщения об ошибках. - person Leniel Maccaferri; 20.10.2012
comment
Долго ждать чего? :) - person Leniel Maccaferri; 20.10.2012
comment
чтобы ошибка исчезла в окне ошибки в Visual Studio - person user1761786; 20.10.2012
comment
Хотя это, вероятно, удалит сообщение об ошибке, это скорее исправление, чем реальное решение — другой ответ решает основную проблему. Но я понимаю, что ОП на самом деле не совсем четко описал свою ситуацию. - person ElDoRado1239; 11.08.2017
comment
в моем случае было наоборот: мне пришлось перейти с публичного на приватный ftw - person ulkas; 14.05.2019

Это также может произойти, если вы не инициализировали свой класс «мир» как общедоступный.

ты должен сделать :

public class world

Вместо :

class world
person BasssS    schedule 07.11.2013
comment
сделать это для класса и любого его базового класса - person amr osama; 05.07.2015
comment
Учтите, что любой класс по умолчанию является внутренним в C#. Вот почему вам нужно указать public. Отличный ответ, кстати. - person toscanelli; 09.10.2017
comment
Это решило мою проблему, я был занят просмотром полей, которые я возвращал из метода, не принимая во внимание возвращаемый класс. - person kolexinfos; 25.05.2018

вы не можете использовать спецификатор доступа private в этом операторе

    Public class world

решит эту проблему

person manoj    schedule 25.04.2018

также, я получил такую ​​​​ошибку с модификатором доступа public. Решение состояло в том, чтобы добавить {get;set;} геттер и сеттер к свойствам

person e0x3    schedule 09.02.2018