我目前遇到一个小问题。
我的程序当前输出一个返回值,并使用以下方法将其放入列表框:
public override string ToString()
{
CheckKamer();
if (IsKamerBezet == true)
{
return $"Kamer: {Nummer} is bezet";
}
else
{
return $"Kamer: {Nummer} is vrij";
}
}
之后,我的程序使用以下方法将方法提供的返回值保存在.txt文件中:
private void ReserveringText()
{
using (System.IO.StreamWriter file =
new System.IO.StreamWriter(filepath, true))
file.WriteLine(reserveringLB.Items.ToString());
System.IO.StreamWriter SaveFile = new System.IO.StreamWriter(filepath);
foreach (var item in reserveringLB.Items)
{
SaveFile.WriteLine(item.ToString());
}
}
现在,当我重新启动程序时,它会使用另一种简单的方法读取.txt文件中的行并将其重新设置在列表框中:
private void LaadItems()
{
var lines = File.ReadAllLines(filepath);
reserveringLB.DataSource = lines;
}
但是,每当我尝试向酒店添加新访客时,它都说该对象引用未设置为该对象的实例,因为它是从.txt文件而不是从我以前加载过的类列表中加载的来自。
我的客人被添加到这里的班级:
private void reserveerBtn_Click(object sender, EventArgs e)
{
Gast gast = new Gast(tbNaam1.Text, cbOntbijt1.Checked, cbDiner1.Checked, (Model.Enum.Geslacht)cbGeslacht1.SelectedValue);
Reservering reservering = new Reservering(vrijekamer, dateTimePicker1.Value, dateTimePicker2.Value, gast);
gast.Reservering = reservering;
admin.VoegGastToe(gast);
admin.VoegReserveringToe(reservering);
}
任何人都可以帮助我,告诉我如何让程序加载.txt文件,然后将其放回列表中,以便实际上可以向该程序添加一个来宾。
如果有任何不清楚的地方,请告诉我,我将大量阅读这篇文章,以便我可以立即更改它/如果你们需要什么,可以添加一些内容。