我当前的代码如下所示

this.actHandler = new MainAct(reqParams[2], new DatabaseHandler());

RegisterAct regAct = new RegisterAct();

return regAct.RegisterAction();


MainAct类

class MainAct
{
    protected DatabaseHandler dbh;

    protected MySqlConnection db;

    protected MySqlDataReader reader;

    protected MySqlCommand cmd;

    protected string param;

    public MainAct(string param, DatabaseHandler dbHandler)
    {
        this.param = param;
        this.dbh = dbHandler;
        this.db = this.dbh.ConnectDatabase();
    }
}


RegisterAct类

class RegisterAct : MainAct
{
    public string RegisterAction()
    {

    }
}


我收到以下错误:


  BloodServer.act.MainAct不包含带有0参数的构造函数


这是在Parent类中,我以为我已经替换了。
父构造函数是否仍会被调用?有办法改变吗?

最佳答案

在RegisterAct类中,您需要添加一个构造函数,该构造函数使用正确的参数调用基本构造函数:

class RegisterAct : MainAct
{
    public RegisterAct(string param, DatabaseHandler dbHandler) : base(param, dbHandler)
    {
    }

    // Other methods/code here
}

08-06 03:47