Как исправить ошибку "нет аргумента, соответствующего необходимому формальному параметру 'name'" - PullRequest
0 голосов
/ 07 февраля 2019

У меня есть класс EngineerClass, который наследует значения из другого класса (EmployeeClass).

Я хочу, чтобы форма Windows использовала значения из другого класса и отображала их в текстовых полях.При попытке вызвать EngineerClass в классе формы, я получаю ошибку, упомянутую в заголовке.

class EngineerClass : EmployeeClass
{    
    private int trafficHours;

    public int TrafficHours
    {
        set { trafficHours = value; }
        get { return trafficHours; }
    }

    public EngineerClass(String name, int id, int pay, int wh) : base(name, id, pay, wh)
    {
        trafficHours = 0;
    }

    public void addTrafficHours(int tH)
    {
        trafficHours = tH;
        workedHours += trafficHours;
    }
}

public partial class frmEngineer : Form
{
    private EngineerClass Class = new EngineerClass();
    public frmEngineer()
    {
        InitializeComponent();
    }

    private void btnCalculate_Click(object sender, EventArgs e)
    {
    }
}

1 Ответ

0 голосов
/ 07 февраля 2019

Требуется четыре вещи, чтобы сделать инженера:

public EngineerClass(String name, int id, int pay, int wh) 

Вещи "имя", "идентификатор" и т. Д. Являются формальными параметрами .Они обязательны .

Вы предоставили ноль вещей:

private EngineerClass Class = new EngineerClass();

Вещи, которые вы предоставляете, которые соответствуют формальным, называются аргументами .

Одной из вещей, которую вы не предоставили, был аргумент, соответствующий имени, отсюда и ошибка: «нет аргумента, соответствующего необходимому формальному параметру name» *

Как это исправить?

Либо

  • Укажите аргументы для необходимых формальных параметров, либо
  • Сделайте их необязательными формальные параметры или
  • Создайте второй конструктор, который принимает нулевые формальные параметры

Помните, что что бы вы ни делали, ваш производный класс требуется для удовлетворения требования к его конструктору базового класса.

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