Пожалуйста, может кто-нибудь помочь со следующей ошибкой:
Несогласованная доступность: тип свойства 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(); }
}
}
}
c#
properties
Дэвид Букера
источник
источник
public
из моего определения класса.У вашего класса
Delivery
нет модификатора доступа, что означает, что он по умолчаниюinternal
. Если вы затем попытаетесь предоставить свойство этого типа какpublic
, это не сработает. Ваш тип (класс) должен иметь такой же или более высокий уровень доступа, что и ваша собственность.Подробнее о модификаторах доступа: http://msdn.microsoft.com/en-us/library/ms173121.aspx
источник
Ваш
Delivery
класс является внутренним (видимость по умолчанию для классов), однако свойство (и, предположительно, содержащий класс) являются общедоступными, поэтому свойство более доступно, чемDelivery
класс. Вам нужно либо сделатьDelivery
общедоступным, либо ограничить видимостьthelivery
собственности.источник