Подтвердить что ты не робот

Несогласованная доступность: тип свойства менее доступен

Пожалуйста, кто-то может помочь со следующей ошибкой:

Непоследовательная доступность: тип свойства "Test.Delivery" менее доступен, чем свойство "Test.Form1.thelivery"

private Delivery thedelivery;

public Delivery thedelivery
{
    get { return thedelivery; }
    set { thedelivery = value; }
}

Я не могу запустить программу из-за сообщения об ошибке несоответствия.

Вот мой класс доставки:

namespace Test
{
    class Delivery
    {
        private string name;
        private string address;
        private DateTime arrivalTime;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        public string Address
        {
            get { return address; }
            set { address = value; }
        }

        public DateTime ArrivlaTime
        {
            get { return arrivalTime; }
            set { arrivalTime = value; }
        }

        public string ToString()
        {
            { return name + address + arrivalTime.ToString(); }
        }
    }
}
4b9b3361

Ответ 1

Объявите ваш класс с модификатором public доступа, добавив ключевое слово public перед именем класса

namespace Test
{
    public class Delivery
    {
        private string name;
        private string address;
        private DateTime arrivalTime;

        public string Name
        {
            get { return name; }
            set { name = value; }
        }

        public string Address
        {
            get { return address; }
            set { address = value; }
        }

        public DateTime ArrivlaTime
        {
            get { return arrivalTime; }
            set { arrivalTime = value; }
        }

        public string ToString()
        {
            { return name + address + arrivalTime.ToString(); }
        }
    }
}

Ответ 2

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

Подробнее о модификаторах доступа: http://msdn.microsoft.com/en-us/library/ms173121.aspx

Ответ 3

Ваш класс Delivery является внутренним (видимость по умолчанию для классов), однако свойство (и предположительно содержащий класс) является общедоступным, поэтому свойство более доступно, чем класс Delivery. Вам нужно либо сделать Delivery общедоступным, либо ограничить видимость свойства thelivery.