Нет аргумента, соответствующего необходимому формальному параметру - PullRequest
2 голосов
/ 07 февраля 2020

Я только начал изучать C#, так что извините за этот базовый c вопрос. Я экспериментирую с C# inheritance и хочу унаследовать properties от Shape класса в Rectangle классе. Класс Rectangle, приведенный ниже, выдает мне ошибку:

"Нет аргумента, соответствующего необходимому формальному параметру" height "из Shape.Shape (double.double) '

Кто-нибудь может сказать мне, почему это происходит?

class Shape
{
    public double Height { get; set; }
    public double Width { get; set; }

    public Shape (double height, double width)
    {
        Height = height;
        Width = width; 
    }

    public double calculateArea()
    {
        double Area = (Height * Width);
        return Area; 
    }
}
class Rectangle : Shape
{
    public Rectangle(double height, double width)
    {
        Height = height;
        Width = width;
    }
    static void Main(string[] args)
    {
        Rectangle rectangle = new Rectangle(15, 19);
        double areaOfRectangle = rectangle.calculateArea();
        Console.WriteLine(areaOfRectangle);
    }
}

1 Ответ

3 голосов
/ 07 февраля 2020

В c# ключевое слово base используется для доступа к членам базового класса, таким как properties, methods и др. c. в производном классе. поэтому вы должны действовать следующим образом:

public Rectangle(double height, double width) : base(height, width) { ... }

, чтобы узнать больше о base, вы можете следовать этому . удачи.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...