Czy ktoś może pomóc z następującym błędem:
Niespójna dostępność: typ właściwości „Test.Delivery” jest mniej dostępny niż właściwość „Test.Form1.thelivery”
private Delivery thedelivery;
public Delivery thedelivery
{
get { return thedelivery; }
set { thedelivery = value; }
}
Nie mogę uruchomić programu z powodu komunikatu błędu o niespójności.
Oto moja klasa dostawy:
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
David Bukera
źródło
źródło
public
z definicji mojej klasy.Twoja klasa
Delivery
nie ma modyfikatora dostępu, co oznacza, że domyślnieinternal
. Jeśli następnie spróbujesz ujawnić właściwość tego typu jakopublic
, to nie zadziała. Twój typ (klasa) musi mieć taki sam lub wyższy poziom dostępu jak Twoja usługa.Więcej o modyfikatorach dostępu: http://msdn.microsoft.com/en-us/library/ms173121.aspx
źródło
Twoja
Delivery
klasa jest wewnętrzna (domyślna widoczność klas), jednak właściwość (i przypuszczalnie klasa zawierająca) jest publiczna, więc właściwość jest bardziej dostępna niżDelivery
klasa. Musisz alboDelivery
upublicznić, albo ograniczyć widocznośćthelivery
nieruchomości.źródło