发生了'System.StackOverflowException'类型的未处理异常

mar*_*zzz 8 .net c# stack-overflow getter-setter

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

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

    public string Titolo
    {
        get { return Titolo; }
        set { Titolo = value; }
    }
}
Run Code Online (Sandbox Code Playgroud)

我通过构造函数设置数据.所以,我想做些喜欢的事情

KPage page = new KPage();
Response.Write(page.Titolo);
Run Code Online (Sandbox Code Playgroud)

但是我得到了这个错误:

set { Titolo = value; }
Run Code Online (Sandbox Code Playgroud)

Ode*_*ded 38

你有一个无限循环:

public string Titolo
{
    get { return Titolo; }
    set { Titolo = value; }
}
Run Code Online (Sandbox Code Playgroud)

Titolo在你的代码中引用的那一刻,getter或setter调用getter,它调用getter调用getter,调用getter调用getter ... Bam - StackOverflowException.

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

public string Titolo
{
    get;
    set;
}
Run Code Online (Sandbox Code Playgroud)

要么:

private string titolo;
public string Titolo
{
    get { return titolo; }
    set { titolo = value; }
}
Run Code Online (Sandbox Code Playgroud)


归档时间:

查看次数:

59651 次

最近记录:

14 年,1 月 前