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


моделирование проекта

Следующий шаг в защите автоматизации проекта реализовать стандартные объекты проекта: Projects и ProjectItems коллекции. Project и ProjectItem объекты; остальные объекты и уникальны для реализации. Эти стандартные объекты указываются в файле Dteinternal.h. Реализация стандартных объектов предоставляется в образце BscPrj. Можно использовать эти классы модели для создания собственных стандартные объекты проекта, которые стоят параллельно с объектами проекта из других типов проектов.

Объект-получатель автоматизации предполагается возможность вызова Solution("<UniqueProjName>")и ProjectItems (nwhere) n номер индекса для получения конкретного проекта в решении. Вызовы этот автоматизации заставляет среду вызова GetProperty на соответствующей иерархии проекта, передавая в качестве параметра VSITEMID_ROOT ItemID и VSHPROPID_ExtObject в качестве параметра VSHPROPID. IVsHierarchy::GetProperty возвращает IDispatch указатель на объект автоматизации, предоставляющий ядро Project интерфейс, в котором реализован.

Ниже приведен синтаксис IVsHierarchy::GetProperty.

HRESULT GetProperty (

VSITEMID itemid,

VSHPROPID propid,

VARIANT *pvar

);

Проекты приспосабливают вложения и используют коллекции для создания групп в составе элементы проекта. Иерархия выглядит следующим образом.

Projects
  |– Project
      |– ProjectItems (a collection of ProjectItem)
          |– ProjectItem (single object) or ProjectItems (another collection)

Вложение означает, что значение a ProjectItem объект может иметь ProjectItems коллекция одновременно, поскольку a ProjectItems коллекция может содержать вложенные объекты. В образце базовой проекта не это демонстрирует вложение. Путем реализации Project объект, участвуете в дерево-как структура, характеризует создание общей модели автоматизации.

Автоматизация проектов выполните, в следующей схеме.

Автоматизация проектов

Объекты проекта Visual Studio

Если не реализуется a Project объект среда по-прежнему возвращает универсальный шаблон Project объект, содержащий только имя проекта.

См. также

Ссылки

Projects

ProjectItem

ProjectItems