C# 可访问性不一致:属性类型不易访问
请有人帮助解决以下错误: 可访问性不一致:属性类型“Test.Delivery”的可访问性不如属性“Test.Form1.thelivery” 由于错误消息不一致,我无法运行该程序 这是我的送货课:C# 可访问性不一致:属性类型不易访问,c#,properties,C#,Properties,请有人帮助解决以下错误: 可访问性不一致:属性类型“Test.Delivery”的可访问性不如属性“Test.Form1.thelivery” 由于错误消息不一致,我无法运行该程序 这是我的送货课: namespace Test { class Delivery { private string name; private string address; private DateTime arrivalTime;
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(); }
}
}
}
您的类
Delivery
没有访问修饰符,这意味着它默认为internal
。如果您随后尝试将该类型的属性公开为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(); }
}
}
}
我的解决方案是从我的类定义中删除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(); }
}
}
}