0

WindowsFormsApplication2.Form1.BankAccount不包含 for 的定义,也找不到接受第一个类型参数的withBox扩展方法(您是否缺少 using 指令或程序集引用?)withBoxWindowsFormsApplication2.Form1.BankAccount

这是num1 = Convert.ToDecimal(this.withBox.Text);代码行之一。

早些时候我问了一个关于这个的问题,并对我的问题做了更多的研究。我相信这次我做的一切都是正确的。但仍然出现错误。我不确定我现在做错了什么。

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,没有应用程序的上下文,但你会明白的。另一种方法是将 Num1 的属性设置为BankAccount必要时。

于 2013-10-05T01:28:27.430 回答