C# 获取属性时引发Stackoverflow异常
我正在尝试在会话对象中存储列表 我的果篮类有一个apples属性,用于设置会话变量:C# 获取属性时引发Stackoverflow异常,c#,asp.net,C#,Asp.net,我正在尝试在会话对象中存储列表 我的果篮类有一个apples属性,用于设置会话变量: public List<Apples> Apples { get { return HttpContext.Current.Session["Apples"] != null ? (List<Apples>)HttpContext.Current.Session["Apples"] :new List<Apples> {}; }
public List<Apples> Apples
{
get { return HttpContext.Current.Session["Apples"] != null ? (List<Apples>)HttpContext.Current.Session["Apples"] :new List<Apples> {}; }
set { HttpContext.Current.Session["Apples"] = value; }
}
如果苹果列表中有内容,则此操作非常有效。
如果苹果列表为空,则检索fruitbasket.apples时会出现堆栈溢出异常
有什么想法吗?您的属性名称与列表的类型名称相同
public List<Apples> Apples
公开苹果列表
尝试使用其他名称
public List<Apple> Apples
公开苹果列表
定位准确。我刚更改了酒店的名称。我仍然遇到堆栈溢出。@JohnnyGrimes在这里发布新属性,您是否也更改了属性的getter?更改列表名称的步骤我更改了属性的名称,因此我认为getter中没有任何更改。错误的命名不会导致任何更改。@JohnnyGrimes您可以演示如何调用此属性吗?您能告诉我们您正在使用的实际代码吗?问题在于细节,很可能是打字错误。很明显,我们没有查看正在运行的确切代码时,很难给您一个答案。您的代码:FruitBasket.apples=db.apples.tolist()
首先不会编译(因为tolist
不是一个假设您没有编写自己的tolist
方法的方法-在这种情况下,查看它会很有用),其次,不会调用上面显示的方法。
public List<Apple> Apples