2013-05-07 23 views
13

On writting mã này vào dự án của tôi tôi đang nhận được lỗi đóCách giải quyết Lỗi: Khả năng truy cập không nhất quán: loại tham số cho giao diện chung C#?

Error 1 Inconsistent accessibility: field type 'System.Collections.Generic.List<Jain_milan.Childrendata>' is less accessible than field 'Jain_milan.addchild.m_children'
Error 2 Inconsistent accessibility: parameter type 'System.Collections.Generic.List<Jain_milan.Childrendata>' is less accessible than method 'Jain_milan.addchild.addchild(System.Collections.Generic.List<Jain_milan.Childrendata>)'

namespace Jain_milan 
{ 
     public partial class addchild : Form 
     { 
      List<Label> label = new List<Label>(); 
      List<TextBox> textbox = new List<TextBox>(); 
      List<ComboBox> combobox = new List<ComboBox>(); 
      List<DateTimePicker> datetimepicker = new List<DateTimePicker>(); 
      public List<Childrendata> m_children = new List<Childrendata>(); 
      public addchild(List<Childrendata> children) 
      { 
       InitializeComponent(); 
       this.m_children = children; //Initialize the same List as sent by Mainform 
      } 
+3

gì một phần của thông điệp không có hiểu không? – SLaks

+3

Kiểm tra kỹ các công cụ sửa đổi truy cập trên các lớp bạn đang sử dụng. –

+2

Điều này nói rằng một mục công khai đang sử dụng một loại riêng tư. Đảm bảo các công cụ sửa đổi truy cập nhất quán – devshorts

Trả lời

26

Nếu không có đăng toàn bộ mã có liên quan của bạn tôi sẽ cố gắng một linh cảm:

lớp Childrendata được khai báo là không công khai và (như chúng ta có thể thấy) biến số m_children là công khai

Threfore biến công khai không thể triển khai se một loại ít tiếp cận được, trong trường hợp này, Childrendata

Bên cạnh đó, những gì bạn có thể muốn là để biến m_children tin cũng như này thường là thực hành tốt nhất

+1

Rõ ràng hơn khi các lỗi được trích dẫn được làm sạch, vì câu hỏi ban đầu đã nuốt các dấu ngoặc nhọn '<>'. –

2

Childrendata không được công khai. Làm thế nào, sau đó, bạn có mong đợi ai đó gọi addchild để có thể cung cấp thông số bắt buộc không?

Sửa lỗi rõ ràng là thay đổi khả năng truy cập của addchild hoặc Childrendata.

6

tôi đoán là lớp Childrendataprivate (hoặc internal, hoặc ngầm internal bằng cách không chỉ định một modifier tầm nhìn)

Kể từ List<Childrendata> m_children là công khai, Childrendata cần phải được công khai là tốt.

Thay đổi Childrendata thành public và bạn sẽ ổn.

0

chỉ cần thực hiện phương pháp addChilde(List<object> childeren) hoặc chỉ đối tượng không liệt kê sau đó làm điều này

var Listchild = childeren as List<childe>; 
Các vấn đề liên quan