свойство обновляется, но когда метод студента вызывается снова, он вычисляет, но возвращает 0. хотя итоговый элемент и итоговый элемент студенческого экзамена обновляются и имеют значение.
здесь - код для студентаclass
public class Student : Person, IStudentGrade, IGrade
{
public List<Exam> ExamList { get; set; }
public Recitations Recitations { get; set; }
public double ComputeMidtermGrade()
{
var midterm = ExamList.Where(e => e.Term.Equals(Terms.Midterm)).SingleOrDefault();
var midtermGrade = ((((midterm.TotalCorrectItem / midterm.TotalItem) * 50) / 50) * 0.25) * 100;
return midtermGrade;
}
public double ComputeFinalsGrade()
{
var finalsterm = ExamList.Where(e => e.Term.Equals(Terms.Finals)).SingleOrDefault();
var finalsGrade = ((((finalsterm.TotalCorrectItem / finalsterm.TotalItem) * 50) / 50) * 0.25) * 100;
return finalsGrade;
}
public double ComputePrelimsGrade()
{
var prelims = ExamList.Where(e => e.Term.Equals(Terms.Prelims)).SingleOrDefault();
var prelimGrade = ((((prelims.TotalCorrectItem / prelims.TotalItem) * 50) / 50) * 0.25) * 100;
return prelimGrade;
}
public double RecitaionGrade()
{
var sum = Recitations.RecitationsList.Sum(r => r.Grade);
var recitationGrade = (sum / Recitations.RecitationsList.Count) * 0.25;
return recitationGrade;
}
public double ComputeTotalGrade()
{
var totalgrade = ((ComputePrelimsGrade() + ComputeMidtermGrade() + ComputeFinalsGrade() + RecitaionGrade()));
return totalgrade;
}
}
это прекрасно работает, как вы можете видеть на первом изображении
, но после обновления свойств возвращаемое значение равно 0, то есть свойства имеютзначение.
100%, переданное на рисунке 1, а также новая общая оценка на рисунке 2 была рассчитана с использованием этого метода в классе учащегося.
public double ComputeTotalGrade()
{
var totalgrade = ((ComputePrelimsGrade() + ComputeMidtermGrade() + ComputeFinalsGrade() + RecitaionGrade()));
return totalgrade;
}
, поэтому кто-нибудь может мне помочь, почему он возвращает 0 в ComputeMidtermGrade (), ComputeFinalsGrade (), ComputePrelimsGrade ()
послеОбновление оценок учеников так, как вы видите, предварительные, средние и итоговые оценки равны 0. Но предварительный счет у Карла 5/10 баллов (свойство в экзаменационном классе)
public enum Terms { Prelims, Midterm, Finals };
public class Exam
{
public Terms Term {get; set;}
public int TotalItem { get; set; }
public int TotalCorrectItem { get; set; }
}
РЕДАКТИРОВАТЬ: 1-й рисунок 1-й вид, 2-й рис редактировать оценку, 3-й рис 2nd просмотр после редактирования