Как использовать System.Lazy с Setter для отложенной инициализации списка в объектах POCO?

Я хочу использовать 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 .Value ' не имеет сеттера

Если я хочу сделать 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 } }

Я что-то делаю не так?

18
задан Acaz Souza 27 July 2011 в 13:53
поделиться