在将此代码写入我的项目时,我收到错误
错误1可访问性不一致:字段类型
'System.Collections.Generic.List<Jain_milan.Childrendata>'
的可访问性低于字段'Jain_milan.addchild.m_children'
错误2可访问性不一致:参数类型'System.Collections.Generic.List<Jain_milan.Childrendata>'
的可访问性低于方法'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
}
答案 0 :(得分:27)
如果不发布您的相关代码,我会试着预感:
类 Childrendata 被声明为非公开,并且(我们可以看到)变量 m_children 是公开的
因此公共变量无法公开不太容易访问的类型,在这种情况下, Childrendata
此外,您可能想要的是将 m_children 设为私有,这通常是最佳做法
答案 1 :(得分:6)
我的猜测是Childrendata
类是private
(或internal
,或隐含internal
,未指定可见性修饰符)
由于List<Childrendata> m_children
是公开的,Childrendata
也需要公开。
将Childrendata
更改为public
,您应该没问题。
答案 2 :(得分:2)
Childrendata
不公开。那么,您是否希望有人呼叫addchild
能够提供所需的参数?
明显的修复方法是更改addchild
或Childrendata
的辅助功能。
答案 3 :(得分:0)
只需创建方法addChilde(List<object> childeren)
或仅列出对象
然后这样做
var Listchild = childeren as List<childe>;
答案 4 :(得分:0)
您不能两次使用访问修饰符。如果您使用public类,则不应使用实例public。公共部分类Record:ContentPage {列表数据=新List(){我使用记录类public而不是list。