dedlfix: Kein parameterloser Konstruktor

Beitrag lesen

Tach!

ich versuche momentan mein Programm umzustellen und dieses via Dependency Injection zu aktualisieren. Das Problem dabei ist, dass ich eine bis dahin nicht vorhandene Fehlermeldung

Für dieses Objekt wurde kein parameterloser Konstruktor definiert.

bekomme, wenn ich versuche, einen Parameter-Behafteten Konstruktor zu definieren, in dem mein von Unity übergebenes Objekt zugewiesen werden soll. Hat da jemand eine Idee, wie man dieses Problem umgehen kann?

Die naheliegendste Lösung wäre, einen parameterlosen Konstruktor hinzuzufügen. Aber das wäre nur die halbe Wahrheit, denn dann fehlt dir ja das Objekt, wenn dieser Konstruktor verwendet wird. Die zielführende Vorgehensweise wäre also, dafür zu sorgen, dass der parameterlose Konstruktor nicht verwendet wird.

Wenn DI nicht vorgesehen ist, dann steckt da Code im Framework, der einen parameterlosen Konstruktor aufruft. Und du musst nun dafür sorgen, dass die Instantiierungsroutine gegen eine ausgetauscht wird, die mit DI umgehen kann, und das passende Objekt erzeugt oder findet, das da übergeben werden muss. Entsprechenden Code muss das DI-Framework mitbringen und auch eine Anleitung, wie man das korrekt für die jeweilige Umgebung (bei dir ASP.NET MVC) initialisiert.

dedlfix.