0

WindowsFormsApplication2.Form1.BankAccountの定義が含まれておらず、型の最初の引数を受け入れるwithBox拡張メソッドが見つかりませんでした (using ディレクティブまたはアセンブリ参照がありませんか?)withBoxWindowsFormsApplication2.Form1.BankAccount

これはnum1 = Convert.ToDecimal(this.withBox.Text);コード行の 1 つです。

以前に私はこれについて質問し、私の問題についてさらに多くの調査を行いました. 今回はすべて正しいことをしたと信じていました。しかし、まだエラーが発生しています。私は今何が間違っているのか分かりません。

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
public partial class Form1 : Form
{
    BankAccount a = new BankAccount();

    public Form1()
    {
        InitializeComponent();
        decimal iBa = 300.00m;
        this.aMtBox.Text = iBa.ToString();
    }
    private void dep_Click(object sender, EventArgs e)
    {
        try
        {
            decimal num1 = 0.00m;
            decimal iBa = 300.00m;
            num1 = Convert.ToDecimal(this.depBox.Text);
            decimal total = num1 + iBa;
            this.aMtBox.Text = total.ToString();
        }
        catch
        {
            MessageBox.Show("ERROR", "Oops, this isn't good!", MessageBoxButtons.OK, MessageBoxIcon.Error);
        }
    }
    public void withdrawl_Click(object sender, EventArgs e)
    {
        this.aMtBox.Text = a.Balance.ToString();
    }

    public class BankAccount
    {
        decimal balance;
        decimal iBa;
        decimal num1;

        public decimal Balance
        {
            get {return balance;}
        }
        public decimal IBa
        {
            get {return iBa;}
        }
        public decimal Num1
        {
            get {return num1;}
        }

        public BankAccount()
        {
            iBa = 300.00m;
            num1 = Convert.ToDecimal(this.withBox.Text);
            balance = iBa - num1;
        }
    }
}

}

4

1 に答える 1

2

このプロパティが定義されていない場所で使用this.WithBox.Textしています。BankAccountこれは 内で定義されていると思いますForm1

BankAccountコンストラクタを次のように変更する必要があります

public BankAccount(decimal number)
{
    iBa = 300.00m;
    num1 = number;
    balance = iBa - num1;
}

次に、BankAccountこの方法で値を渡すフォームを作成します。

BankAccount a = null;

public Form1()
{
    InitializeComponent();
    decimal iBa = 300.00m;
    this.aMtBox.Text = iBa.ToString();
    a = new BankAccount(Convert.ToDecimal(this.withBox.Text));
}

フォームの初期化時に値を取得するのはあまり意味がないかもしれませんwithBox。アプリのコンテキストがありませんが、アイデアは得られます。もう 1 つの方法は、Num1 のプロパティをBankAccount必要に応じて設定することです。

于 2013-10-05T01:28:27.430 に答える