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

ボタンのクリック後、どちらも null 値を取得します。助けてください ?

4

1 に答える 1

2

入力テキストボックスから正しく設定された firstName と lastName を持つ Client クラスのインスタンスを AddClient メソッドに渡すのではなく、ClientRepository クラス内に Client クラスの新しいインスタンスを作成します。もちろん、この新しいインスタンスのプロパティには何もありません。

フォームで作成された 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 に答える