【发布时间】:2011-08-15 10:17:02
【问题描述】:
在该属性的setter方法中抛出了堆栈溢出异常:
public string TimeZone
{
get
{
if (TimeZone == null)
return "";
return TimeZone;
}
set { TimeZone = value; }
}
“发生'System.StackOverflowException'类型的未处理异常”
我在这里没有看到任何直接的递归。
如果代码有问题,我应该改用什么来纠正它?
【问题讨论】:
-
如下 jgauffin 所述,当您调用 return TimeZone 时,实际发生的是您再次调用 TimeZone 属性。所以它进入了一个无限循环,总是一次又一次地调用它自己。