发生了’System.StackOverflowException’类型的未处理exception
为什么这个? 这是我的代码:
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; }
你有一个无限循环:
public string Titolo { get { return Titolo; } set { Titolo = value; } }
在你的代码中引用Titolo
的那一刻,getter或setter调用getter,它调用getter调用getter,调用getter调用getter … Bam – StackOverflowException
。
使用支持字段或使用自动实现的属性 :
public string Titolo { get; set; }
要么:
private string titolo; public string Titolo { get { return titolo; } set { titolo = value; } }
你有一个自我指涉的二传手。 您可能想要使用自动属性:
public string Titolo { get; set; }
改成
public class KPage { public KPage() { this.Titolo = "example"; } public string Titolo { get; set; } }