我的Game
类有两个参数,但由于某些原因,我编写的代码不起作用:
class Game
{
string consoleName;
int gameID;
public Game(string name, int id)
{
this.consoleName = name;
this.gameID = id;
}
}
这是我的孩子班。
class RolePlayingGame : Game
{
int level;
}
答案 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
没有无参数构造函数,因此失败。所以你需要创建一个参数化的构造函数。您必须在子类中显式定义构造函数。