请求的操作导致堆栈溢出
本文关键字:堆栈 栈溢出 操作 请求 | 更新日期: 2023-09-27 18:27:43
我试图创建一个派生类,但错误弹出。不太确定结果如何。请帮忙!
基本类别:
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"})
{
}
}
当我尝试创建一个新的命令对象时,会弹出错误。有什么想法吗?
这就是问题所在:
public class Command : identifiableobject
{
LookCommand l = new LookCommand();
...
这意味着,为了构造一个Command
,您需要构造一个新的LookCommand
。但是LookCommand
是Command
,所以构造一个LookCommand
需要构造另一个,后者构造另一个中,等等
我们不知道您试图在这里使用l
变量实现什么,但这就是导致要么您需要去掉该变量,要么不以这种方式初始化它,要么使LookCommand
不从Command
派生。