我试图通过TextBoxes将信息写入TextFile(在这种情况下,TextFile类似于数据库)。当我在表单中使用File.AppendAllText
时,它正在工作,但我试图通过方法实现它。
我创建了一个名为AddClient()
Client getClient = new Client();
public void AddClient()
{
string client = getClient.FirstName + "," + getClient.LastName + "\r\n";
File.AppendAllText(textFilePath, client);
}
表单中的“注册”按钮名为RegisterButton
,包含:
ClientRepository getMethods = new ClientRepository();
Client getClient = new Client();
private void RegisterButton_Click(object sender, EventArgs e)
{
getClient.FirstName = FirstNameTextBox.Text;
getClient.LastName = LastNameTextBox.Text;
getMethods.AddClient();
}
FirstName和LastName ofc是public class Client
单击按钮后,它们都会获得空值。 请帮忙吗?
答案 0 :(得分:2)
您没有将从输入文本框中正确设置firstName和lastName的Client类的实例传递给AddClient方法,而是在ClientRepository类中创建Client类的新实例,当然,这个新实例的属性没有任何内容。
更改您的代码以传递在表单中创建的客户端实例
在ClientRepository类
中public void AddClient(Client clientToAdd)
{
string client = clientToAdd.FirstName + "," + clientToAdd.LastName + "\r\n";
File.AppendAllText(textFilePath, client);
}
在您的表单代码中
ClientRepository getMethods = new ClientRepository();
Client clientToAdd = new Client();
....
private void RegisterButton_Click(object sender, EventArgs e)
{
clientToAdd.FirstName = FirstNameTextBox.Text;
clientToAdd.LastName = LastNameTextBox.Text;
getMethods.AddClient(clientToAdd);
}