继承对象中的空引用问题

| 我正在尝试编写简单的成员资格类代码。第一类的名称是Customer,它具有从Customer类继承的其他类,例如Silver_Customer,Gold_Customer。 我在简单的Windows应用程序中使用这些类:
    public Customer customer;
    public Form_MURAT_TURAN()
    {
        InitializeComponent();
    }
    private void Form1_Load(object sender, EventArgs e)
    {
        Product p1 = new Product(\"Blouse\", 152.80);
        Product p2 = new Product(\"T-Shirt\", 50.25);
        .....
        lbProducts.Items.Add(p1);
        lbProducts.Items.Add(p2);
        .....
    }

    private void btnCustomer_Click(object sender, EventArgs e)
    {
        Customer customer = new Standard_Customer(txtName.Text, txtSurname.Text, 0);
        customer.Name = \"Mark 1\";
        customer.TotalAmount = 5;
        gbCustomer.Enabled = false;
        gbProduct.Enabled = true;

        set_info(customer.customerType(), customer.Name + \" \" + customer.Surname, customer.TotalAmount);
    }

    private void btnAddToBasket_Click(object sender, EventArgs e)
    {
        customer.Name = \"Mark 2\";
    }
除btnAddToBasket_Click方法外,其他所有方法都工作正常。 customer.Name = \“标记2 \”;行给我“ 1”错误,但customer.Name = \“ Mark 1 \”行有效。     
已邀请:
        在
btnCustomer_Click
中,您未设置全局
customer
对象。您正在设置它的本地版本。更改您的代码,如下所示:
private void btnCustomer_Click(object sender, EventArgs e)
{
    customer = new Standard_Customer(txtName.Text, txtSurname.Text, 0);
    
        为什么不尝试:
private void btnCustomer_Click(object sender, EventArgs e)
{
        this.customer = new Standard_Customer(txtName.Text, txtSurname.Text, 0);
        customer.Name = \"Mark 1\";
        customer.TotalAmount = 5;
        gbCustomer.Enabled = false;
        gbProduct.Enabled = true;

        set_info(customer.customerType(), customer.Name + \" \" + customer.Surname, customer.TotalAmount);
    }
创建新客户时,尝试使用
this.customer
。     

要回复问题请先登录注册