quot;Objectquot; does not contain a definition for quot;namequot;(“对象不包含“名称的定义;)
问题描述
我收到一条错误消息,告诉我:
I'm having an error message that tells me this:
BankAccount.account"不包含提款"的定义.
'BankAccount.account' does not contain a definition for 'withdraw'.
这是我的代码:
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
namespace BankAccounts
{
class account
{
    protected string name;
    protected float balance;
    public account(string n, float b)
    {
        name = n;
        balance = b;
    }
    public void deposit(float amt)
    {
        balance -= amt;
    }
    public void display()
    {
        Console.WriteLine("Name: {0}. Balance: {1}.", name, balance);
    }
}
class savingaccount : account
{
    static int accno = 1000;
    int trans;
    public savingaccount(string s, float b) : base(s, b)
    {
        trans = 0;
        accno++;
    }
    public void withdraw (float amt)
    {
        if (trans >= 10)
        {
            Console.WriteLine("Number of transactions exceed 10.");
            return;
        }
        if (balance - amt < 500)
            Console.WriteLine("Below minimum balance.");
        else
        {
            base.withdraw(amt);
            trans++;
        }
    }
    public void deposit(float amt)
    {
        if (trans >= 10)
        {
            Console.WriteLine("Number of transactions exceed 10.");
            return;
        }
        base.deposit(amt);
        trans++;
    }
    public void display()
    {
        Console.WriteLine("Name: {0}. Account no.: {1}. Balance: {2}", name, accno,        balance);
    }
}
class currentaccount : account
{
    static int accno = 1000;
    public currentaccount(string s, float b) : base(s, b)
    {
        accno++;
    }
    public void withdraw(float amt)
    {
        if (balance - amt < 0)
            Console.WriteLine("No balance in account.");
        else
            balance -= amt;
    }
    public void display()
    {
        Console.WriteLine("Name: {0}. Account no.: {1}. Balance: {2}.", name, accno, balance);
    }
}
}
我不明白为什么它不识别它.它是类 Savingaccount 中的一个方法.
I don't understand why it doesn't recognize it. It is a method in the class savingaccount.
推荐答案
你来电
base.withdraw(amt);
来自您的班级savingsaccount.但是基类(account)没有这样的方法.所以编译器是绝对正确的.
from your class savingsaccount. But the base class (account) has no such method. So the compiler is absolutely correct.
这篇关于“对象"不包含“名称"的定义;的文章就介绍到这了,希望我们推荐的答案对大家有所帮助,也希望大家多多支持编程学习网!
本文标题为:“对象"不包含“名称"的定义;
				
        
 
            
        - 输入按键事件处理程序 2022-01-01
 - MoreLinq maxBy vs LINQ max + where 2022-01-01
 - WebMatrix WebSecurity PasswordSalt 2022-01-01
 - 如何用自己压缩一个 IEnumerable 2022-01-01
 - C#MongoDB使用Builders查找派生对象 2022-09-04
 - 良好实践:如何重用 .csproj 和 .sln 文件来为 CI 创建 2022-01-01
 - 在哪里可以找到使用中的C#/XML文档注释的好例子? 2022-01-01
 - 带有服务/守护程序应用程序的 Microsoft Graph CSharp SDK 和 OneDrive for Business - 配额方面返回 null 2022-01-01
 - C# 中多线程网络服务器的模式 2022-01-01
 - Web Api 中的 Swagger .netcore 3.1,使用 swagger UI 设置日期时间格式 2022-01-01
 
						
						
						
						
						
				
				
				
				