MVC2, .NET4 / C # 4 optionale Parameter und Controller-Konstrukteure
-
19-09-2019 - |
Frage
Ich bin ein großer Fan von optionalen Parameter in C # 4, aber ein Problem mit MVC habe, wenn ich sie in meinem Controller Konstrukteure verwenden. Zum Beispiel, wenn ich einen einzigen Konstruktor:
öffentliche Testcontroller (Stachel a = "") {/ * bla * /}
MVC hat einen Anfall zu sagen, dass es keine parameterlos Konstrukteuren für Testcontroller.
Wie kann ich dieses Problem umgehen?
Lösung
Die MVC Fehlermeldung korrekt ist - es gibt keinen parameterlos Bauer. Sie benötigen einen parameterlosen Konstruktor zur Verfügung zu stellen (die in Ihrem Fall sollte nur auf die parameterful Konstrukteuren delegieren). wenn Sie DI Optional verwenden, gibt es Controller Fabriken, die ausdrücklich entworfen werden, um die Abhängigkeiten in den Konstruktor zu injizieren. Ich glaube, MvcContrib ein paar davon hat.