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

Peb*_*ars 0 c# oop inheritance specflow xamarin

所以我继承了这个用于Android的Xamarin应用程序的测试平台,该应用程序用C#编写,用于Specflow.我对Xamarin一无所知,对Specflow知之甚少,自从我在C#编写任何代码以来已经10年了,所以请耐心等待.试图创建一个继承自Button的类,我得到这个错误:

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

我的派生类看起来像这样:

public class Buttons : Button
{
}
Run Code Online (Sandbox Code Playgroud)

Button类看起来像这样:

public class Button : ControlBase
{ 
    public Button(Func<AppQuery, AppQuery> controlIdQuery) : base(controlIdQuery) { }
}
Run Code Online (Sandbox Code Playgroud)

另外,按钮的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)
    {
    }
}
Run Code Online (Sandbox Code Playgroud)

我希望能够创建一个基于Button的类,就像我可以使用其他控件类一样.我该怎么做才能在这里启用继承?

Jas*_*son 6

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

public class Buttons : Button
{
   public Buttons(Func<AppQuery, AppQuery> controlIdQuery) : base(controlIdQuery) {}
}
Run Code Online (Sandbox Code Playgroud)