MVC2, .NET4/C#4 необязательные параметры и конструкторы контроллеров
-
19-09-2019 - |
Вопрос
Я большой поклонник необязательных параметров в C # 4, но у меня возникает проблема с MVC, когда я использую их в своих конструкторах контроллера.Например, если у меня есть один конструктор:
публичный тестконтроллер(sting a = "") { /* бла */ }
В MVC есть соответствие, говорящее о том, что для TestController не существует конструкторов без параметров.
Как я могу обойти это?
Решение
Сообщение об ошибке MVC является правильным - конструкторов без параметров не существует.Вам необходимо предоставить конструктор без параметров (который в вашем случае следует просто делегировать конструкторам с параметрами).Необязательно, если вы используете DI, существуют фабрики контроллеров, которые явно предназначены для внедрения зависимостей в конструктор.Я полагаю, что у MvcContrib есть несколько таких.