114

次のエラーについて誰か助けてください。

一貫性のないアクセシビリティ: プロパティ タイプ '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(); }
        }
    }
}
4

3 に答える 3

242

クラスの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(); }
        }
    }
}
于 2012-12-01T14:29:21.867 に答える
15

クラスDeliveryにはアクセス修飾子がありません。つまり、デフォルトはinternalです。次に、そのタイプのプロパティを として公開しようとしてもpublic、機能しません。タイプ (クラス) には、プロパティと同じかそれ以上のアクセス権が必要です。

アクセス修飾子の詳細: http://msdn.microsoft.com/en-us/library/ms173121.aspx

于 2012-12-01T14:28:02.647 に答える
8

クラスはinternal Delivery(クラスの既定の可視性) ですが、プロパティ (およびおそらくそれを含むクラス) は public であるため、プロパティはクラスよりもアクセスしやすくなっていますDeliveryDeliveryプロパティを公開するか、表示を制限する必要がありtheliveryます。

于 2012-12-01T14:28:18.980 に答える