Khả năng tiếp cận không nhất quán: loại thuộc tính ít truy cập hơn


100

Xin ai đó có thể giúp với lỗi sau:

Khả năng truy cập không nhất quán: loại thuộc tính 'Test.Delivery' ít truy cập hơn thuộc tính 'Test.Form1.thelivery'

private Delivery thedelivery;

public Delivery thedelivery
{
    get { return thedelivery; }
    set { thedelivery = value; }
}

Tôi không thể chạy chương trình do thông báo lỗi không nhất quán.

Đây là lớp giao hàng của tôi:

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(); }
        }
    }
}

Câu trả lời:


211

Khai báo lớp của bạn bằng một công cụ publicsửa đổi quyền truy cập thay vào đó bằng cách thêm publictừ khóa vào trước tên lớp

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(); }
        }
    }
}

0down voteaccept xin lỗi bạn có thể vui lòng cho tôi biết làm thế nào để làm cho lớp học của tôi để sửa đổi lần truy cập công cộng
David Bukera

@DavidBukera: Tôi nghĩ bạn hiểu rồi
Ravindra Bagale 2/12/12

5
Giải pháp của tôi là XÓA public khỏi định nghĩa lớp của tôi.
Cody

12

Lớp của bạn Deliverykhông có công cụ sửa đổi quyền truy cập, có nghĩa là nó được mặc định thành internal. Nếu sau đó bạn cố gắng hiển thị một thuộc tính thuộc loại publicđó, nó sẽ không hoạt động. Loại (lớp) của bạn cần có quyền truy cập tương tự hoặc cao hơn như thuộc tính của bạn.

Thông tin thêm về công cụ sửa đổi truy cập: http://msdn.microsoft.com/en-us/library/ms173121.aspx


8

DeliveryLớp của bạn là nội bộ (khả năng hiển thị mặc định cho các lớp), tuy nhiên thuộc tính (và có lẽ là lớp chứa) là công khai, do đó, thuộc tính dễ truy cập hơn Deliverylớp. Bạn cần Deliverycông khai hoặc hạn chế khả năng hiển thị của thuộc theliverytính.

Khi sử dụng trang web của chúng tôi, bạn xác nhận rằng bạn đã đọc và hiểu Chính sách cookieChính sách bảo mật của chúng tôi.
Licensed under cc by-sa 3.0 with attribution required.