2013-11-17 3 views
0

Как ссылаться на объект-ученик, созданный в первой кнопке в моем методе ниже? Я думал, что могу просто сделать «ref object student», но когда я это сделаю, он не позволит мне использовать какой-либо из методов, связанных со студенческим классом, и просто говорит: «объект не содержит определения для ...»Ссылка на объект в методе

Кнопка:

private void addStudentButton_Click(object sender, EventArgs e) //Add Student Button 
    { 
     string name = nameBox.Text; 
     string course = courseBox.Text; 
     bool NumTrue = true; 
     decimal asgnScore; 
     decimal mScore; 
     decimal fScore; 
     decimal itMJR; //IT Major Check 

     student = new Student(name); 
     student.SetCourse(course); 

     VerifyNums(ref NumTrue, out asgnScore, out mScore, out fScore); 

     if (NumTrue) 
     { 
      student.Assignment = asgnScore; 
      student.Midterm = mScore; 
      student.final = fScore; 
      AddPoints(out itMJR); 
      clearButton_Click(sender, e); 
     } 
     else 
     { 
      BadInput(); 
     } 
    } 

Метод:

private void CalculateGrades(ref object student, out decimal averageExamScore, out decimal percentGrade, ref decimal AW, ref decimal TW, ref decimal itMJR) 
    { 

     asgnScore = ((asgnScore + itMJR) * AW); 

     name = nameBox.Text; course = courseBox.Text; 
     averageExamScore = (((fScore + itMJR) + (mScore + itMJR))/2); 
     averageExamScore = averageExamScore * TW; 
     percentGrade = averageExamScore + asgnScore; 
    } 

ответ

1

Используйте это вместо ref object student:

ref Student student 
+1

Спасибо, это было! Я уже много лет занимаюсь этим. – user1174834

0

Вы можете использовать ref

ref Student student 

Параметры параметров изменены на вызывающем сайте. Они передаются как ссылок, а не значений. Это означает, что вы можете назначить этот параметр в вызываемом методе и назначить его также на вызывающем сайте.

Смежные вопросы