Внедрение конструктора в WebForms с использованием VB.NET под .NET 4.7.2 - PullRequest
0 голосов
/ 04 июня 2018

В .NET 4.7.2 Microsoft представила возможность использовать инжекцию конструктора в WebForms с помощью HttpRuntime.WebObjectActivator, как видно здесь

Пример, приведенный в C #.Я работаю над устаревшим приложением VB.NET, которое находится в процессе модернизации.Мы хотели бы использовать внедрение конструктора поверх внедрения свойства, которое мы планировали использовать, потому что оно более канонично.

Однако, когда я пытаюсь дать WebForm параметризованный конструктор, я получаю следующую ошибку:

(BC30387) Класс 'testpage_aspx' должен объявить Sub Sub, потому что его базаКласс «TestPage» не имеет доступного «Sub New», которое можно вызывать без аргументов.

Похоже, это связано с тем, что VB.NET обрабатывает конструкторы и наследование.Благодаря тому, как VB.NET обрабатывает конструкторы, возможно ли использование параметризованных конструкторов в проекте VB.NET WebForms?

1 Ответ

0 голосов
/ 04 июня 2018

Вы настроили приложение на 4.7.2 в web.config?Что-то вроде ниже.Внедрение в конструктор нельзя использовать в Page / Controls в проекте веб-сайта (тип проекта, в котором отсутствует файл vbproj), так как базовый тип Page / Controls неизвестен при создании кода для Pages / Controls.

<httpRuntime targetFramework="4.7.2"/>

Редактировать: Вот сообщение в блоге о том, как использовать Unity в существующем приложении WebForms.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...