誰かが次のエラーで助けてください:
一貫性のないアクセシビリティ:プロパティタイプ「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
プロパティの可視性を制限する必要があります。