Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
menu search
person
Welcome To Ask or Share your Answers For Others

Categories

I use ninject framework. In my code I have a Lazy object. I can create an instance, but when I call the value property I got an exception.

 private Lazy<IPsoriasisReportUserControl> psoriasisReportUserControl;

[Inject]
    public Lazy<IPsoriasisReportUserControl> PsoriasisReportUserControl
    {
        get { return psoriasisReportUserControl; }
        set { psoriasisReportUserControl = value; }
    }

I got

The lazily-initialized type does not have a public, parameterless constructor

exception because the injection does not inject the method into the constructor. I think I have to write a method to the bind what Creates a new instance.

See Question&Answers more detail:os

与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
653 views
Welcome To Ask or Share your Answers For Others

1 Answer

Use the factory extension for Ninject https://github.com/ninject/ninject.extensions.factory


与恶龙缠斗过久,自身亦成为恶龙;凝视深渊过久,深渊将回以凝视…
thumb_up_alt 0 like thumb_down_alt 0 dislike
Welcome to ShenZhenJia Knowledge Sharing Community for programmer and developer-Open, Learning and Share
...