请求的操作导致堆栈溢出

时间:2014-10-25 05:20:21

标签: c#

我正在尝试创建派生类,并弹出错误。不太确定它是如何产生的。请帮忙!

基类:

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对象时,会弹出错误。有什么想法吗?

1 个答案:

答案 0 :(得分:6)

这是问题所在:

public class Command : identifiableobject
{
    LookCommand l = new LookCommand();

    ...

这意味着,为了构建Command,您需要构建一个新的LookCommand。但是LookCommand Command,因此构建一个LookCommand需要构建另一个,构建另一个,等等。

我们不知道你在这里使用l变量想要实现什么,但这就是导致你需要摆脱该变量或者不以这种方式初始化它的原因,或使LookCommand不是来自Command