子类给出了关于父类构造函数的错误

时间:2012-08-29 11:52:03

标签: c# class inheritance

  

可能重复:
  Does not contain a constructor that takes 0 arguments

我有一个名为getData的DAL类,其构造函数强制您传递连接字符串:

namespace AQProduct
{
  public class getData
  {
    public getData(string strConnectionString)
    {
    }
  }
 }

我有完成实际工作的课程:

namespace AQProduct
{
  public class User_DL : getData
  {
  }
}

构建失败,

  

'AQProduct.getData'不包含取0的构造函数   参数

如何让它发挥作用?

4 个答案:

答案 0 :(得分:3)

您需要向派生类添加构造函数,并将连接字符串传递给基类:

public class User_DL : getData
{
    public User_DL(string connectionString)
        : base(connectionString)
    {
    }
}

答案 1 :(得分:3)

在(非静态)类中,如果不添加自己的构造函数,则会隐式创建表单:

public ClassName : base() { }

即。调用基类的无参数构造函数。由于不存在,您将需要添加自定义构造函数,例如:

public User_DL() : base("some fixed value from somewhere") {}

或:

public User_DL(string connectionString) : base(connectionString) {}

答案 2 :(得分:0)

您需要在DAL类中添加默认构造函数:

// Your default constructor
public getData()
{
}

或者使用params将构造函数添加到派生类中;跟着:

public class User_DL : getData
{
    public User_DL(string connectionString) : base(connectionString)
    {
       // Insert code here
    }
}

答案 3 :(得分:0)

添加此构造函数

public User_DL(string yourConnection) : base(yourConnection)
{


}