Tôi đã thử nâng cấp ứng dụng ASP.Net từ Visual Studio 2005 lên 2008 và tôi đã cố gắng biên dịch để xác minh rằng nó sẽ biên dịch và tôi nhận được lỗi này.Lỗi truy cập không nhất quán
Error 1 Inconsistent accessibility: property type 'Web.Properties.UITitleSettings' is less accessible than property 'Web.Ctrl.BasePanel.UISettings' \\projectLocation\Ctrl\BasePanel.cs 25 43 ProjectName
(tôi loại bỏ các đường dẫn lớp trước Web.Properties và Web.Ctrl, nó thường chứa nó)
Các đoạn mã tham chiếu của nó là
public Properties.UITitleSettings UISettings
{
get
{
return _uiSettings;
}
}
Tôi không khá chắc chắn lỗi này đang cố gắng nói gì. Liệu loại cần phải được đúc (diễn viên tiềm ẩn không hợp lệ giữa hai loại không tương thích?) Hoặc nó là một vấn đề ghi đè lớp?
+1 Ví dụ hay. –
Oh ok, bây giờ tôi nhận được những gì lỗi là tất cả về. Bây giờ rất nhiều mã này trông giống như nó được tạo ra bởi trình soạn thảo Visual Studio WYSIWYG, làm thế nào tôi sẽ đi về sửa chữa đó? – tearman
Bất cứ điều gì bạn đang cố gắng làm trong truy cập công cộng đó có thể là sai. Bạn cần phải cấu trúc lại UITitleSettings thành 1), đóng gói nó thành kiểu public 3) tạo mọi thứ bên trong hoặc 4) UITitleSettings refactor ra khỏi hình và hiển thị các phần riêng của nó như các thuộc tính cung cấp nguyên thủy (các kiểu hệ thống tiêu chuẩn) . Rất nhiều cách để làm điều đó; chỉ cần chọn một trong đó không phải là cách bạn đang làm nó ngay bây giờ. – Will