Я хочу использовать System.Lazy для отложенной инициализации моего списка в моих объектах:
public class Questionary
{
private Lazy<List<Question>> _questions = new Lazy<List<Question>>(() => new List<Question>());
public IList<Question> Questions { get { return _questions.Value; } set { _questions.Value = value; } }
}
Проблема находится на моем SETTER, получаю эту ошибку: Свойство ' System.Lazy
' не имеет сеттера
Если я хочу сделать MyInstance.Questions = new List <Вопрос> {...}
?
Как мне действовать?
Обновление:
Я пытаюсь этого избежать:
private IList<Question> _questions;
//Trying to avoid that ugly if in my getter:
public IList<Question> Questions { get { return _questions == null ? new List<Question>() : _questions; } set { _questions = value } }
Я что-то делаю не так?