How to use System.Lazy with Setter to Lazy Initialization of List in POCO Entities?

前端 未结 1 1220
失恋的感觉
失恋的感觉 2021-02-12 18:46

I want to use System.Lazy to Lazy Initialization of my List in my Entites:

public class Questionary
{
    private Lazy> _questions = n         


        
1条回答
  •  慢半拍i
    慢半拍i (楼主)
    2021-02-12 19:12

    You could do something like this:

    public class Questionary
    {
        private Lazy> _questions = 
            new Lazy>(() => new List());
    
        public IList Questions
        {
            get { return _questions.Value; }
            set { _questions = new Lazy>(() => value); }
        }
    }
    

    However, I don't see why you need Lazy here at all. There is no benefit in using it, because the initialization of a new List should be the same as the initialization of a new Lazy...

    I think it would be enough to keep it as simple as this:

    public class Questionary
    {
        private IList _questions = new List();
    
        public IList Questions
        {
            get { return _questions; }
            set { _questions = value; }
        }
    }
    

    or

    public class Questionary
    {
        public Questionary()
        {
            Questions = new List();
        }
    
        public IList Questions { get; set; }
    }
    

    0 讨论(0)
提交回复
热议问题