누군가 다음 오류에 대해 도움을 줄 수 있습니다.
일관성없는 접근성 : 속성 유형 ‘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(); }
}
}
}
답변
클래스 이름 앞에 키워드를 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(); }
}
}
}
답변
클래스 Delivery
에 액세스 수정자가 없으므로 기본값은 internal
. 그런 다음 해당 유형의 속성을으로 노출하려고하면 public
작동하지 않습니다. 유형 (클래스)은 속성과 동일하거나 더 높은 액세스 권한을 가져야합니다.
액세스 수정 자에 대한 추가 정보 : http://msdn.microsoft.com/en-us/library/ms173121.aspx
답변
귀하 Delivery
의 경우, 해당 건물이보다 더 접근 할 수 있도록 클래스 (클래스의 기본 가시성), 그러나 재산 (그리고 아마도 포함하는 클래스) 내부에가 공개되어 Delivery
클래스입니다. 당신도 화장을 할 필요가 Delivery
공공, 또는의 가시성 제한 thelivery
속성을.