我是C#的新手,无法调用另一个类对象中的类对象的方法。我收到一条错误,说“MainWindow.Mascot.MyNameIs()”由于其保护级别而无法访问。但是,所有课程都是公开的。如何从另一个对象内部调用对象的类方法?
谢谢!
以下是代码的一部分:
public partial class MainWindow : Window
{
public class Mascot
{
string name;
string MyNameIs()
{
return name;
}
}
public class School
{
public Mascot myMascot;
}
public MainWindow()
{
InitializeComponent();
School Houston = new School();
Houston.myMascot = new Mascot();
Houston.myMascot.MyNameIs();
}
}
答案 0 :(得分:0)
试试这个。
public partial class MainWindow : Window
{
public class Mascot
{
string name;
public string MyNameIs() // changed
{
return name;
}
}
public class School
{
public Mascot myMascot;
}
public MainWindow()
{
InitializeComponent();
School Houston = new School();
Houston.myMascot = new Mascot();
Houston.myMascot.MyNameIs();
}
}
答案 1 :(得分:0)
方法MyNameIs()
的修饰符是私有的,因为你没有定义它。只需添加一个修饰符public
,如:
public string MyNameIs()
{
return name;
}
如果该类未嵌套在另一个类中,则其默认访问修饰符为internal
。如果该类嵌套在另一个类中,则默认访问说明符为private
。