我正试图在一个名为“Advisers”的班级中创建一个列表,其中包含一个由1名顾问提供建议的学生名单。我创建了一个学生班,在那里没有任何麻烦,但我在运行时的顾问课上遇到了错误。
class Advisers
{
private string _Fname;
private string _Lname;
private string _Department;
private List<Student> _StudentsAdvised;
//constructor
public Advisers()
{
_Fname = "";
_Lname = "";
_Department = "";
_StudentsAdvised = null;
}
public void AddToList(Student newStudent)
{
_StudentsAdvised.Add(newStudent);
}
public List<Student> StudentsAdvised
{
get { return _StudentsAdvised; }
set { _StudentsAdvised = value; }
}
public string FirstName
{
get { return _Fname; }
set { _Fname = value; }
}
public string LastName
{
get { return _Lname; }
set { _Lname = value; }
}
public string Department
{
get { return _Department; }
set { _Department = value; }
}
}AddToList方法是我在主表单中调用的,它将一个学生的实例添加到顾问类中的StudentsAdvised列表中。
private void stuAssignAdviBtn_Click(object sender, EventArgs e)
{
int stuIndex = stuLstbox.SelectedIndex;
int advIndex = adviListBox.SelectedIndex;
if (stuLstbox.SelectedIndex != -1 && adviListBox.SelectedIndex != -1)
{
string AdvLastName = AdviserList[advIndex].LastName;
StudentList[stuIndex].AdviserLastName = AdvLastName;
AdviserList[advIndex].AddToList(StudentList[stuIndex]);
}
else
{
MessageBox.Show("Select 1 student and 1 adviser.");
}
}以下是顾问类中出现的错误消息:
public void AddToList(Student newStudent)
{
_StudentsAdvised.Add(newStudent);
}我该怎么做?
发布于 2013-11-26 16:38:32
我看不到你在任何地方初始化你的List<Student> _StudentsAdvised
您可以在类构造函数中这样做。
//constructor
public Advisers()
{
_Fname = "";
_Lname = "";
_Department = "";
_StudentsAdvised = new List<Student>();
}发布于 2013-11-26 16:43:33
呃,
public class Advisess : List<Student>
{
private readonly Advisor advisor;
private Advisess()
{
}
public (IEnumerable<Student> adivsees, Advisor advisor)
: base(advisees)
{
this.advisor = advisor;
}
public (Advisor advisor)
{
this.advisor = advisor;
}
public Advisor Advisor
{
get
{
return this.advisor;
}
}
}https://stackoverflow.com/questions/20222767
复制相似问题