Реализация и использование расширителей автоматизации
Обновлен: Ноябрь 2007
Расширители автоматизации — часть модели автоматизации Visual Studio, которая дает возможность добавлять или убирать свойства из списка свойств, отображаемых в указанном типе проекта. Например, Visual Studio включает модель кода Visual Basic с объектом, представляющим класс Visual Basic. Можно использовать расширители автоматизации, например, для добавления новых свойств к существующим свойствам в бизнес-объекте среднего уровня. Эту модель также можно использовать для фильтрации свойств, отображаемых на странице свойств проекта.
Ниже приведен один из возможных сценариев. Пользователь выбирает элемент класса в Обозревателе решений и изменяет созданный мастером код. Также можно поместить курсор в редакторе в определение класса. В результате в окне Свойства могут отображаться дополнительные свойства класса. Свойства относятся к определению бизнес-объектов среднего уровня. Расширители автоматизации позволяют сделать это, а также многое другое.
Ниже приведены объекты в объектной модели расширителей автоматизации.
Имя объекта |
Описание |
---|---|
Интерфейс IExtenderProvider |
Предоставляет известный поставщик расширителей. |
Интерфейс IExtenderProviderUnk |
Предоставляет неизвестный поставщик расширителей. |
Интерфейс IExtenderSite |
Объект узла, содержащий расширитель автоматизации. |
Интерфейс IFilterProperties |
Если реализован, позволяет расширителю не показывать указанные свойства в окне Свойства. |
Объект ObjectExtenders |
Предоставляет доступ к расширителям автоматизации. |
Использование этих объектов дает следующие возможности.
Добавление к объектам в Visual Studio свойств, доступных как в окне Свойства, так и из кода программы.
Скрытие свойств так, чтобы они не отображались в окне Свойства.
Замена свойства другим, имеющим такое же имя, но принимающим конкретный набор значений.
Пример расширителя автоматизации
Пример использования расширителей автоматизации для добавления свойств и методов к объекту Visual Studio см. в примере надстройки расширителя решений на веб-странице Образцы автоматизации Visual Studio.
Пример SolutionExtender расширяет как объект, отображающий окно Свойства решения, так и объект автоматизации DTE.Solution. Он добавляет четыре новых свойства: Notes, Created, LastAccessed и LastModified. Для создания ссылки на новые свойства можно использовать DTE.Solution, как показано в следующем макросе.
Sub ShowNotes()
Dim extender As Object
extender = DTE.Solution.Extender("SolutionMisc")
MsgBox(extender.Notes)
End Sub
Для выполнение этого примера
Постройте и разверните решение SolutionExtender.
Добавьте регистрационные сведения в SolutionExtender.reg, используя файл реестра командной строки SolutionExtender.reg.
Запустите devenv.exe и откройте или создайте новое решение.
Выберите узел решения в Обозревателе решений для просмотра новых свойств.
См. также
Задачи
Практическое руководство. Добавление и обработка команд
Практическое руководство. Создание надстройки
Пошаговое руководство. Создание мастера
Основные понятия
Диаграмма модели объектов автоматизации