C# 获取属性时引发Stackoverflow异常

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> {}; }

我正在尝试在会话对象中存储列表

我的果篮类有一个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