Ich benutze ninject Rahmen. In meinem Code habe ich ein Lazy-Objekt. Ich kann eine Instanz erstellen, aber wenn ich die value -Eigenschaft aufruft, habe ich eine Ausnahme bekommen.Faule <> Ninject Injection
private Lazy<IPsoriasisReportUserControl> psoriasisReportUserControl;
[Inject]
public Lazy<IPsoriasisReportUserControl> PsoriasisReportUserControl
{
get { return psoriasisReportUserControl; }
set { psoriasisReportUserControl = value; }
}
Ich habe
Der träge initialisierte Typ kein öffentliches hat, parameterlos Konstruktor
Ausnahme, da die Injektion nicht die Methode in den Konstruktor nicht injizieren. Ich denke, ich muss eine Methode auf die Bindung schreiben, die eine neue Instanz erstellt.
Diese Antwort funktioniert Sie können aber auch die andere Antwort machen, indem Sie einfach die NInject Extension Factory verwenden, die automatisch funktioniert. – jsgoupil