Я получил эту ошибку, когда я программировать на C#: «BankSystem.Account» не содержит конструктор, который принимает аргументы 0Не имеет Constructer, которые принимают 0 аргументы в C#
Мои классы:
Во-первых, класс счета:
public abstract class Account : IAccount
{
private static decimal minIncome = 0;
private static int minAge = 18;
private string name;
private string address;
private decimal age;
private decimal balance;
public Account(string inName, decimal inAge, decimal inBalance, string inAddress)
{
if (AccountAllowed(inBalance, inAge))
{
name = inName;
address = inAddress;
balance = inBalance;
age = inAge;
Console.WriteLine("We created the account. \nName is " + name + " \nThe address is: "
+ address + "\nThe balance is " + balance);
}
else
{
Console.WriteLine("We cann't create the account. Please check the balance and age!");
}
}
//public CustomerAccount(string newName, decimal initialBalance)
public Account(string inName, decimal initialBalance)
{
}
Во-вторых, класс УЧЁТНАЯЗАПИСЬ:
public class CustomerAccount : Account
{
private decimal balance = 0;
private string name;
public CustomerAccount(string newName, decimal initialBalance)
{
name = newName;
balance = initialBalance;
}
public CustomerAccount(string inName, decimal inAge, decimal inBalance, string inAddress)
: base(inName, inAge)
{
// name = inName;
//age = inAge;
}
public CustomerAccount(string inName, decimal inAge)
: base(inName, inAge)
{
// name = inName;
//age = inAge;
} ......
Вам нужно будет показать нам больше кода, чем это. Ошибка звучит так, будто вы пытаетесь вызвать одну из функций, не передавая ей ничего. –
Сообщение об ошибке содержит ответ. – Ben
Вы не в RBS, не так ли? ;-) Если вы вызываете конструктор 2-го параметра на CustomerAccount, как он получается из учетной записи, он будет пытаться вызвать base(). Поскольку у вас нет конструктора без параметров на базе, учетной записи, ваш код не работает. – dash