C# 不一致的可访问性:参数
我是C#的新手,现在正尝试开发我的第一个Windows窗体应用程序C# 不一致的可访问性:参数,c#,C#,我是C#的新手,现在正尝试开发我的第一个Windows窗体应用程序 public partial class AddCourse : Form { Course course; public AddCourse(Course course) { this.course = course; InitializeComponent(); } 这里的问题是我得到了一个错误 错误CS0051可访问性不一致:参数类型“Course”的可
public partial class AddCourse : Form
{
Course course;
public AddCourse(Course course)
{
this.course = course;
InitializeComponent();
}
这里的问题是我得到了一个错误
错误CS0051可访问性不一致:参数类型“Course”的可访问性不如方法“AddCourse.AddCourse(Course)”的可访问性
我知道在公共方法中调用私有变量时通常会发生这种情况。但在我的例子中,我不知道问题出在哪里
我有一个与此类似的示例代码,它运行得很好
有谁能告诉我我错过了什么吗?很可能你的课没有公开
public class Course {
...
}
您需要将类型
课程
公开;i、 e
public class Course {...}
如果公共类型上的公共方法采用参数:所有这些参数都必须是公共的。否则调用方可能无法理解API。可能是因为您的课程是私有的。尝试公共类课程{}这不起作用,因为我在这里访问它
AddCourse form=newaddcourse(课程)代码>并且没有错误。@FGpier“这不起作用”是什么意思?您描述的错误是一个非常常见的错误,源于公共API上存在非公共类型。这正是你在这里所做的。当你将课程
公开时会发生什么?我的课程是公开的。很抱歉,我也应该粘贴此代码公共类课程{protected XmlDocument root;protected XmlNode coursenode;protected XmlNode nameattr;}
这不会修复错误。怎么可能在我的另一个项目上工作,而在我的项目上却不工作?代码相同,设计相同(文本字段、按钮等的名称)。你知道我可能缺少什么吗?@FGpier是课程
可能嵌套在一个非公共类中?i、 e.class Something{…public class Course{…}{…}
?它在一个名称空间名称空间GradePredictionTool{公共枚举级别{级别4=4,级别5=5,级别6=6,}类课程中{受保护的XmlDocument根;受保护的XmlNode coursenode;受保护的XmlNode nameattr;公共课程(XmlDocument根,XmlNode coursenode){this.root=root;this.coursenode=coursenode;this.nameattr=this.coursenode.Attributes.GetNamedItem(“名称”);mergeLevels();}…