父类不包含带0参数的构造函数

时间:2013-11-21 16:55:07

标签: c#

我的Game类有两个参数,但由于某些原因,我编写的代码不起作用:

class Game
{
    string consoleName;
    int gameID;

    public Game(string name, int id)
    {
        this.consoleName = name;
        this.gameID = id;
    }
}

这是我的孩子班。

class RolePlayingGame : Game
{
    int level;
}

2 个答案:

答案 0 :(得分:6)

class RolePlayingGame : Game {
  public RolePlayingGame(string name, int id) : base(name, id){
    //...
  }
  int level;
}

或者为您的基类提供无参数构造函数:

class Game
{
   public Game(){ //You don't even need any code in this dummy constructor         
   }
   //....
}

注意:请注意,如果您了解无参数构造函数是正常的,则可以使用它(如第二种方法中所提供的)。

答案 1 :(得分:3)

试试这个:

class RolePlayingGame : Game {
    public RolePlayingGame(string name, int id) : base(name, id){
        //Code here
    }
    int level;
}

正如Tim S在评论中指出的那样,C#会自动创建类似public RolePlayingGame() : base() { }的内容。由于Game没有无参数构造函数,因此失败。所以你需要创建一个参数化的构造函数。您必须在子类中显式定义构造函数。