Как мне наследовать от класса, который вызывает базовый конструктор? - PullRequest
0 голосов
/ 10 января 2019

Итак, я унаследовал эту тестовую платформу для приложения Xamarin для Android, написанного на C # для Specflow. Я ничего не знаю о Xamarin, очень мало о Specflow, и прошло 10 лет с тех пор, как я занимался программированием на C #, так что терпите меня ... Пытаясь создать класс, наследующий от Button, я получаю эту ошибку:

There is no argument given that corresponds to the required formal parameter 'controlIdQuery' of 'Button.Button(Func <AppQuery, AppQuery>)'

Мой производный класс выглядит так:

public class Buttons : Button
{
}

Класс кнопок выглядит так:

public class Button : ControlBase
{ 
    public Button(Func<AppQuery, AppQuery> controlIdQuery) : base(controlIdQuery) { }
}

И класс parrent, ControlBase of Button выглядит так:

public abstract class ControlBase : AppBase
{
    public Func<AppQuery, AppQuery> controlIdQuery;

    public AppResult[] _appresult;
    public static IApp _appelement;
    public string _methodName;
    public object _argument;
    public bool waiting;
    public static Platform _appPlatform;

    public ControlBase(Func<AppQuery, AppQuery> idQuery)
    {
    }
}

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

1 Ответ

0 голосов
/ 10 января 2019

конструктор вашего класса должен вызвать конструктор базового класса

public class Buttons : Button
{
   public Buttons(Func<AppQuery, AppQuery> controlIdQuery) : base(controlIdQuery) {}
}
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...