0

我正在尝试通过 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

单击按钮后,它们都获得空值。请帮忙 ?

4

1 回答 1

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);
}
于 2013-02-05T12:28:46.207 回答