不一致的可访问性:属性types不易访问

请有人可以帮助以下错误:

不一致的可访问性:属性types“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关键字infront

  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 。 如果你尝试公开这种types的属性,它将不起作用。 您的types(类)需要与您的财产具有相同或更高的访问权限。

有关访问修饰符的更多信息: http : //msdn.microsoft.com/en-us/library/ms173121.aspx

您的Delivery类是内部的(类的默认可见性),但是属性(可能包含的类)是公共的,所以属性比Delivery类更容易访问。 您需要公开Delivery或限制thelivery物业的可见性。