Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/312.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C# 面向对象的聚合/关联不起作用_C#_Class_Inheritance_Associations_Aggregation - Fatal编程技术网

C# 面向对象的聚合/关联不起作用

C# 面向对象的聚合/关联不起作用,c#,class,inheritance,associations,aggregation,C#,Class,Inheritance,Associations,Aggregation,我试图在另一个类中调用我的类,它调用该类,但是当我使用class变量来使用它的方法时,它没有显示任何内容。请告诉我我哪里做错了 class Course { string mycourse; public Course(string course) { mycourse = course; } public void subjects() { System.Windows.Forms.MessageBox.S

我试图在另一个类中调用我的类,它调用该类,但是当我使用class变量来使用它的方法时,它没有显示任何内容。请告诉我我哪里做错了

class Course
{
    string mycourse;

    public Course(string course)
    {
        mycourse = course;

    }


    public void subjects()
    {
        System.Windows.Forms.MessageBox.Show("rEGISTERED"+ mycourse);

    }


}
学生班


但在学生课堂上,当我写我的课程时。当然,它不会显示任何类的方法。

您必须将代码部分放在方法或构造函数中

例如,既然
myCourse.subjects()
已被移动到构造函数中,则应该编译:

class Students
{
    public Students()
    {
        Course myCourse = new Course("English");
        myCourse.subjects();
    }

}

myCourse
这是一个字段

class Students
{
    Course myCourse = new Course("English");
    myCourse. ??? // nae, not gonna work
}
你可能在寻找一种方法,比如

class Students
{
    public void AddCourse(string course)
    {
        Course myCourse = new Course(course);
        myCourse. //this is where you get IntelliSense
    }
}
还有别的地方

Student s = new Student();
s.AddCourse("English");

你是说它没有出现在你的IDE中?这是编译问题还是IDE问题?是的,它不会出现在我的IDE中,如果我写这个myCourse.subjects();它给我错误信息。
Student s = new Student();
s.AddCourse("English");