我正在尝试创建派生类,并弹出错误。不太确定它是如何产生的。请帮忙!
基类:
public class Command : identifiableobject
{
LookCommand l = new LookCommand();
public virtual string Execute (Player p, string[] text)
{
return "";
public Command (string[] ids) : base(ids)
{
}
}
派生类
public class LookCommand : Command
{
public LookCommand () : base (new string[] {"look"})
{
}
}
当我尝试创建新的Command对象时,会弹出错误。有什么想法吗?
答案 0 :(得分:6)
这是问题所在:
public class Command : identifiableobject
{
LookCommand l = new LookCommand();
...
这意味着,为了构建Command
,您需要构建一个新的LookCommand
。但是LookCommand
是Command
,因此构建一个LookCommand
需要构建另一个,构建另一个,等等。
我们不知道你在这里使用l
变量想要实现什么,但这就是导致你需要摆脱该变量或者不以这种方式初始化它的原因,或使LookCommand
不是来自Command
。