Partager via


Étendre le modèle objet du projet de base

Un sous-type de projet peut étendre le modèle objet Automation du projet de base aux emplacements suivants :

  • Project.Extender(« <ProjectSubtypeName> ») : permet à un sous-type de projet d’offrir un objet avec des méthodes personnalisées de l’objet Project . Un sous-type de projet peut utiliser les extendeurs Automation pour exposer l’objet Project . L’interface IInternalExtenderProvider implémentée sur l’agrégateur de sous-type de projet principal doit offrir son objet à VSHPROPID_ExtObjectCATID partir de __VSSPROPID2 (correspondant à une itemid valeur de VSITEMID. RACINE) CATID.

  • ProjectItem.Extender(« <ProjectSubtypeName> ») : cela permet à un sous-type de projet d’offrir un objet avec des méthodes personnalisées à partir d’un objet particulier ProjectItem au sein du projet. Un sous-type de projet peut utiliser des extendeurs Automation pour exposer cet objet. L’interface IInternalExtenderProvider implémentée sur l’agrégateur de sous-type de projet principal doit offrir son objet pour l’ID VSHPROPID_ExtObjectCATID CATID ( __VSHPROPID2 correspondant à un CATID souhaité VSConstants.VSITEMID).

  • Project.Properties : cette collection expose les propriétés indépendantes de la configuration de l’objet Project . Pour plus d’informations sur les propriétés Project, consultez Properties. Un sous-type de projet peut utiliser les extendeurs Automation pour ajouter ses propriétés à cette collection. L’interface IInternalExtenderProvider implémentée sur l’agrégateur de sous-type de projet principal doit offrir son objet à VSHPROPID_BrowseObjectCATID partir __VSHPROPID2 de (correspondant à une itemid valeur de VSITEMID. RACINE) CATID.

  • Configuration.Properties : cette collection expose les propriétés dépendantes de la configuration du projet pour une configuration particulière (par exemple, Débogage). Pour plus d’informations, consultez Configuration. Un sous-type de projet peut utiliser les extendeurs Automation pour ajouter ses propriétés à cette collection. L’interface IInternalExtenderProvider implémentée sur l’agrégateur de sous-type de projet principal offre son objet pour le CATID VSHPROPID_CfgBrowseObjectCATID (correspondant à une itemid valeur de VSITEMID. Racine). L’interface IVsCfgBrowseObject est utilisée pour distinguer un objet de navigation de configuration d’un autre.

Voir aussi