如何从调用基本构造函数的类继承?

时间:2019-01-10 15:34:08

标签: c# oop xamarin inheritance specflow

因此,我已经继承了该测试平台,适用于以C#for Specflow编写的Android Xamarin应用。 我对Xamarin一无所知,而对Specflow则一无所知,距我使用C#进行编码已有10年了,所以请耐心等待。 尝试创建从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) { }
}

Parent的父类ControlBase看起来像这样:

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 :(得分:6)

您的类的构造函数需要调用基类的构造函数

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