Member 14822451 Ответов: 1

Как исправить ошибку CS7036 нет аргумента, соответствующего требуемому формальному параметру 'cat' из 'record.record(string, string) в unity C#


Как я могу исправить ошибку CS7036 нет аргументов, учитывая, что соответствует необходимости формального параметра 'кошка' из 'записей.Запись(строка, строка) в Редакторе скриптов Unity 2019.13.12f1

Спасибо!

Что я уже пробовал:

Вот код и ошибка:

**public FixRecord()** < строка 63 (вот она)
{
}
общественные FixRecord(строка кот, строковое сообщение, FixMethodDelegate исправить, UnityEngine.Object target, bool editRequired, кнопки string[] )
базовые(кошка, глутамат натрия)
{
buttonNames = кнопки;
fixMethod = исправить;
targetObject = цель;
editModeRequired = editRequired;
complete = false;
}
}

1 Ответов

Рейтинг:
0

F-ES Sitecore

Я собираюсь предположить, что ваш класс FixRecord наследуется от класса, который выглядит следующим образом

public class SomeBaseClass
{
    public SomeBaseClass(string cat, string msg)
    {

    }
}


Если вы создаете класс, который наследует класс, то вы должны передать соответствующие параметры конструктору этого базового класса (две строковые переменные). Ваш FixRecord имеет два конструктора, один с несколькими парами и один без них. Тот, у кого есть несколько параметров, правильно вызывает конструктор базового класса (код ": base"), но тот, у кого нет параметров, этого не делает.

Как вы это исправите, "зависит". Если вы никогда не захотите создавать свой класс без параметров;

var x = new FixRecord();


затем просто удалите конструктор, который вызывает проблему. Если вы действительно хотите создать свой класс без параметров, то вам нужно решить, какие значения по умолчанию задаются конструктору базового класса. Поэтому если это должна быть пустая строка то обновите конструктор следующим образом

public FixRecord() : base (string.Empty, string.Empty)
{

}