Это вызывает ошибку StackOverFlow, и у меня есть идея, почему, но мне хотелось бы получить более подробную информацию о том, почему и как я могу решить ее так, как нужно ее обрабатывать. Хорошо, первые вещи первого, следующий код вызывает ошибку StackOverflow при попытке присвоить значение свойства:Почему это вызывает ошибку StackOverFlow?
private List<Albums> albums
{
get
{
if (Session["albums"] != null)
return (List<Albums>)Session["albums"];
else
return AlbumCollection.GetAlbums();
}
set
{
albums = value;
Session["albums"] = albums;
}
}
Для решения выше, я изменил имя свойства и добавил еще одну переменные для хранения стоимость имущества, которое решен вопрос StackOverflow:
private List<Albums> albums = null;
private List<Albums> Albums
{
get
{
if (Session["albums"] != null)
return (List<Albums>)Session["albums"];
else
return AlbumCollection.GetAlbums();
}
set
{
albums = value;
Session["albums"] = albums;
}
}
Кроме того, я делаю сеттер правильно, присваивая значение, а затем присваивающей Session [ «альбомы»] значение в альбомах? Могу ли я только что сделать, Session ["albums"] = значение вместо этого?
ОК, я думал, что смогу это сделать, но я боялся, что сделаю это неправильно, если раньше не делал альбомы = значение. Благодарю. – Xaisoft