2013-04-20 46 views
0

我想在另一个类中调用我的类,它调用类,但是当我使用类变量来使用它的方法它不显示任何。请告诉我我在哪里犯错。面向对象的聚合/协会不工作

class Course 
{ 
    string mycourse; 

    public Course(string course) 
    { 
     mycourse = course; 

    } 


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

    } 


} 

学生类

class Students 
{ 
    Course myCourse = new Course("English"); 


} 

但在学生上课的时候我写myCourse。它不显示任何课程类的方法。

+0

您的意思是它没有显示在您的IDE中?这是一个编译问题还是IDE问题? – 2013-04-20 20:51:39

+0

是的,它不会显示在我的IDE中,如果我写这个myCourse.subjects();它给了我错误消息。 – 2013-04-20 20:53:49

回答

0

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"); 
+0

非常感谢! :) – 2013-04-20 21:02:10

0

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

举例来说,这应该编译,现在myCourse.subjects()已经移动到构造函数:

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

} 
+0

谢谢,我明白了:) – 2013-04-20 20:56:39