MVC2, .NET4/C#4 необязательные параметры и конструкторы контроллеров

StackOverflow https://stackoverflow.com/questions/2422256

Вопрос

Я большой поклонник необязательных параметров в C # 4, но у меня возникает проблема с MVC, когда я использую их в своих конструкторах контроллера.Например, если у меня есть один конструктор:

публичный тестконтроллер(sting a = "") { /* бла */ }

В MVC есть соответствие, говорящее о том, что для TestController не существует конструкторов без параметров.

Как я могу обойти это?

Это было полезно?

Решение

Сообщение об ошибке MVC является правильным - конструкторов без параметров не существует.Вам необходимо предоставить конструктор без параметров (который в вашем случае следует просто делегировать конструкторам с параметрами).Необязательно, если вы используете DI, существуют фабрики контроллеров, которые явно предназначены для внедрения зависимостей в конструктор.Я полагаю, что у MvcContrib есть несколько таких.

Лицензировано под: CC-BY-SA с атрибуция
Не связан с StackOverflow
scroll top