我遇到以下代码的问题。我缺少使用指令或程序集引用?
class AccountDB
{
public void DumpCustomers(TextWriter textWriter)
{
foreach (Customer c in _Customers)
{
textWriter.WriteLine("\t{0}", c);
foreach (Account a in c.Accounts)
{
textWriter.WriteLine("\t\t{0}", a.AccountType);
textWriter.WriteLine("\t\t\t{0,-20} : {1,13}", "Opening Balance", a.OpeningBalanceString);
foreach (ITransaction t in a.Transactions)
textWriter.WriteLine("\t\t\t{0,-20} : {1,13}", t.Description, t);
textWriter.WriteLine("\t\t\t{0,-20} : {1,13}", "Closing Balance", a);
}
}
}
}
class SavingsAccount : Account
{
public string AccountType
{
get { return "Savings Account"; }
}
}
class CreditAccount : Account
{
public string AccountType
{
get { return "Credit Account"; }
}
}
class Customer
{
private string _Name;
private List<Account> _Accounts = new List<Account>();
public string Name
{
get { return _Name; }
}
public ReadOnlyCollection<Account> Accounts
{
get { return _Accounts.AsReadOnly(); }
}
public Customer(string Name)
{
_Name = Name;
}
public void AddAccount(Account account)
{
if (!_Accounts.Contains(account))
{
_Accounts.Add(account);
account.RecordCustomer(this);
}
}
public override string ToString()
{
return _Name;
}
}
当编译器试图访问ACCOUNTTYPE字符串,我得到以下错误:
'Example_Namespace.Account' does not contain a definition for 'AccountType' and no extension method 'AccountType' accepting a first argument of type 'Example_Namespace.Account' could be found (are you missing a using directive or an assembly reference?)
我理解的东西必须添加到Account类允许代码运行(可能是多态),但我不确定如何进一步进行。我将不胜感激任何帮助。谢谢:)
向我们展示了Customer类?它可能引用Account类,但Account类没有AccountType属性,它的子类有。 –
我只是把它放在:) – SuperDicko
这是在同一个命名空间'Example_Namespace'? – paqogomez