이것은 문제가있는 코드 부분입니다.인수 C에서 개체 유형 폐기 C#
List<People> people = new List<People>();
이 객체의 3 개 가지 유형의 사람 클래스로부터 파생하는 모든 채워되고;
people.Add(new Student(constructorarguments);
people.Add(new AcademicStaff(constructorarguments);
people.Add(new AdministrativeStaff(constructorarguments);
이것은 문제를 일으키는 코드입니다.
private void studentCheckbox_CheckedChanged(object sender, EventArgs e)
{
if (studentCheckbox.CheckState == CheckState.Checked)
{
foreach (Student student in people)
{
if (student.Compare(SearchTextBox.Text) == 0)
{
resultsListBox.Items.Add(student.Forename);
}
}
}
else
{}
}
CheckState 코드에서 볼 수 있듯이이 코드는 Windows 양식을 사용합니다. 그러나 내가 가지고있는 문제는 그것이 학생과 비교하는 것을 제한하지 않는다는 것입니다. 그것은 과거의 학생들을 계속 수행하려고 시도하고 학생으로서 AcademicStaff를 캐스팅하려고 시도하는데, 이것은 나의 프로그램 오류입니다. 나는 이것에 시간의 과거 2 시간 동안 고투하고 아무 여가도 만들지 않으며, 어떤 도움든지 매우 평가 될 것입니다!
나는 폼이나 클래스 자신과 함께 할 수있는 문제를 생각하지 않는다,하지만 난 학생 유형
고마워요! 뿐만 아니라 당신도 도왔지만 실제로도 내 이해를 도왔습니다! – ThePGtipsy