有人可以帮助解决以下错误:
可访问性不一致:属性类型“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(); }
}
}
}
答案 0 :(得分:173)
制作您的课程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(); }
}
}
}
答案 1 :(得分:9)
您的班级Delivery
没有访问修饰符,这意味着它默认为internal
。如果您尝试将该类型的属性公开为public
,则它将无效。您的类型(类)需要与您的属性具有相同或更高的访问权限。
有关访问修饰符的更多信息:http://msdn.microsoft.com/en-us/library/ms173121.aspx
答案 2 :(得分:6)
您的Delivery
类是内部的(类的默认可见性),但属性(可能是包含类)是公共的,因此该属性比Delivery
类更易于访问。您需要公开Delivery
,或限制thelivery
属性的可见性。