Абстрактные методы в c # - PullRequest
       18

Абстрактные методы в c #

3 голосов
/ 24 октября 2011

Я, честно говоря, не знаю, почему это сбивает меня с толку.

 public abstract class BankAccount
    {
        private string accNo;
        private double balance;


        public abstract void MakeWithdrawal(string acc);
        public abstract void MakeDeposit(double dep);

Приведенный выше код выдает эту ошибку:

BankAccount.MakeWithdrawal () 'является абстрактнымно он содержится в неабстрактном классе «Worksheet7.BankAccount»

Это даже при том, что я объявил класс как абстрактный.Я что-то упускаю здесь или что-то особенное в визуальной студии, которого мне не хватает?

1 Ответ

10 голосов
/ 24 октября 2011

Я подозреваю, что у вас есть другой класс с именем BankAccount в пространстве имен Worksheet7, который не определен как abstract.Следующий код компилируется просто отлично:

public abstract class BankAccount
{
    private string accNo;
    private double balance;

    public abstract void MakeWithdrawal(string acc);
    public abstract void MakeDeposit(double dep);
}

Так что сообщение об ошибке отсутствует в этом классе.Он находится в другом классе с тем же именем, определенным в другом пространстве имен.

...