0

現在、非常に単純な銀行口座プログラムを作成しています。ユーザーは、口座名義人、口座番号、および開始残高を入力し、[続行] ボタンを押して、預金と引き出しを行い、その口座を操作します。BankAccount必要なデータ メンバーとメソッドを含む別のクラスを作成しました。Continueボタン クリック イベントに BankAccount オブジェクトを作成するためのコードを配置しました。

BankAccount currentAccount = new BankAccount(acctName, acctNum, beginningBalance);

しかし、それはそのメソッドに対してのみローカルになるようでcurrentAccount、「トランザクションの記録」(入金と引き出し) ボタンのクリックイベントをプログラミングしているときに認識されません。

[続行] ボタンがクリックされたときに BankAccount オブジェクトが作成され、[トランザクションの記録] ボタンのクリック イベントでも認識されるようにするには、BankAccount オブジェクトの作成をどのように、どこでコーディングする必要がありますか? 明確化が必要な場合、または私のコードの一部または全部を見る必要がある場合はお知らせください。

4

1 に答える 1

6

スコープ内にとどまるには、クリックハンドラーの外部でBankAccountオブジェクトを宣言する必要があります。それがあなたがする必要があるものであるならば、あなたはクリックハンドラーの中でそれをインスタンス化することができます

以下のコードは、コンパイル用にテストされていません。それはあなたに何が必要かについての考えを与えることだけです。正確な実装とメソッドのシグネチャは、WinformsとWPFのどちらを使用しているかによって異なります。

BankAccount account = null;

public void Continue_onClickHandler(EventArgs e) {
  account = new BankAccount();
}

public void RecordTransaction_onClickHandler(EventArgs e) {
  if (account == null) {
     throw new Exception("BankAccount has not been instantiated");
  }

  // do whatever you need to do with account here
}
于 2012-11-24T04:54:14.507 に答える