发生类型的未处理的异常“System.StackOverflowException”(An unha

2019-06-23 10:07发布

为什么这个? 这是我的代码:

public class KPage
{
    public KPage()
    {
       this.Titolo = "example";
    }

    public string Titolo
    {
        get { return Titolo; }
        set { Titolo = value; }
    }
}

我由构造函数设置数据。 所以,我想要做像出头

KPage page = new KPage();
Response.Write(page.Titolo);

但我得到的错误:

set { Titolo = value; }

Answer 1:

这里有一个无限循环:

public string Titolo
{
    get { return Titolo; }
    set { Titolo = value; }
}

你指的那一刻Titolo在你的代码中,getter或setter调用它调用它调用它调用它调用吸气......巴姆,吸气,吸气,吸气,吸气- StackOverflowException

或者使用支持字段或使用自动实现的属性 :

public string Titolo
{
    get;
    set;
}

要么:

private string titolo;
public string Titolo
{
    get { return titolo; }
    set { titolo = value; }
}


Answer 2:

你有一个自我指涉的制定者。 你可能意味着使用自动属性:

public string Titolo
{
    get;
    set;
}


Answer 3:

改成

public class KPage
{
    public KPage()
    {
       this.Titolo = "example";
    }

    public string Titolo
    {
        get;
        set;
    }
}


文章来源: An unhandled exception of type 'System.StackOverflowException' occurred