Первый раз с этой ошибкой - Непоследовательная доступность - PullRequest
3 голосов
/ 11 ноября 2010

Я впервые работаю с интерфейсами и правильной структурой пространства имен. Когда я компилирую, я получаю ошибку ниже, я понятия не имею, что это значит. Любые поиски, которые я делаю, показывают частные публичные вопросы, но оба являются публичными. Есть идеи?

Ошибка Несогласованная доступность: тип возвращаемого значения 'System.Collections.Generic.List' менее доступен, чем метод 'Webtext.ApplicationEntities.Implementations.AdditionalEntities.UrlBuilderO2.GetUrlRequests (строка, строка, строка, строка) 'C: \ Users \ Портативный компьютер \ Documents \ visual studio 2010 \ Projects \ Webtext \ Webtext \ ApplicationEntities \ Implementations \ AdditionalEntities \ UrlBuilderO2.cs 19 39 Webtext

Файлы кодов:

namespace Webtext.ApplicationEntities.Interfaces
{
    interface IUrlBuilder
    {
       List<IOperatorRequest> GetUrlRequests(string UserName, string Password, string MessageRecipient, string Message);
    }
}

И

namespace Webtext.ApplicationEntities.Implementations.AdditionalEntities
{
    public class UrlBuilderO2: IUrlBuilder
    {

        public List<IOperatorRequest> GetUrlRequests(string UserName, string Password, string MessageRecipient, string Message)
        {
            throw new NotImplementedException();
        }
    }
}

Структура пространства имен

Webtext

ApplicationEntities

     Interfaces
          ##### INTERFACE IS HERE

     Implementations

          AdditionalEntities
               ##### URL BUILDER IS HERE

Ответы [ 3 ]

7 голосов
/ 11 ноября 2010

У вас есть свойство public в классе public, которое предоставляет список не public типов.
Вам нужно изменить IOperatorRequest на public или изменить класс UrlBuilderO2 или GetUrlReuests на non-public.

3 голосов
/ 11 ноября 2010

Проблема в IOperatorRequest, вероятно internal.

UPDATE

То, что я сказал, правильно. Модификатор пропуска делает его внутренним.

Классы и структуры, которые объявлены непосредственно в пространстве имен (другими словами, которые не вложены в другие классы или структуры), могут быть открытыми или внутренними. Внутренний используется по умолчанию, если не указан модификатор доступа.

2 голосов
/ 11 ноября 2010

IOperatorRequest - это internal, который менее доступен, чем public.

Типы верхнего уровня, которые не вложены в другие типы, могут иметь только внутренний или общедоступный доступ. Доступность по умолчанию для этих типов: внутренняя .

от MSDN

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...