为什么这样?这是我的代码:
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; }
答案 0 :(得分:37)
这里有一个无限循环:
public string Titolo
{
get { return Titolo; }
set { Titolo = value; }
}
当你在代码中引用Titolo
时,getter或setter调用调用getter的getter,调用getter调用调用getter的getter ... Bam - StackOverflowException
使用支持字段或使用auto implemented properties:
public string Titolo
{
get;
set;
}
或者:
private string titolo;
public string Titolo
{
get { return titolo; }
set { titolo = value; }
}
答案 1 :(得分:3)
你有一个自我指涉的二传手。您可能打算使用自动属性:
public string Titolo
{
get;
set;
}
答案 2 :(得分:2)
更改为
public class KPage
{
public KPage()
{
this.Titolo = "example";
}
public string Titolo
{
get;
set;
}
}