Поделиться через


Шаблоны с несколькими реализациями IWizard

Visual Studio поддерживает создание цепочек, что позволяет одному шаблону иметь несколько реализаций IWizard. Эти реализации вызываются последовательно, что позволяет создавать шаблоны, имеющие более широкие и гибкие возможности.

Сведения о реализации

Реализованный корпорацией Майкрософт мастер VsTemplate вызывается для обработки шаблона путем чтения его файла с расширением VSTEMPLATE. Мастер VsTemplate может создать список из одной или нескольких сборок, содержащих реализацию IWizard, которая будет вызвана для участия в обработке шаблона. Чтобы воспользоваться преимуществами функции создания цепочки, все мастера должны быть перечислены в XML-файле шаблона в том порядке, в котором они должны быть вызваны.

Объект Dictionary может использоваться в качестве списка параметров замены, что позволяет шаблону передавать параметры реализации IWizard, а также позволяет одной реализации IWizard передавать параметры другой реализации. Ссылка на объект Dictionary, передаваемая RunStarted, может сохраняться с помощью IWizard. Любые изменения, внесенные IWizard в уведомления обратного вызова, сохраняются.

Параметры замены (например $MyVariable) являются глобальными и доступны из любой реализации IWizard. Убедитесь, что все заменяемые переменных имеют уникальные имена, чтобы они не были случайно использованы для замены другой реализацией IWizard. Рекомендуется фиксировать в документе все параметры замены для мастеров, чтобы другие пользователи знали их назначение.

Интерфейс IWizard содержит логическое свойство с именем ShouldAddItem. Это свойство уведомляет мастер о том, что он, возможно, должен добавить указанный файл. Если свойству ShouldAddItem присвоено значение false, то ни один мастер, следующий за текущим мастером, не будет загружать этот элемент.

См. также

Задачи

Практическое руководство. Замена параметров в шаблоне

Практическое руководство. Использование мастеров для шаблонов проекта