Compartilhar via


Estender o modelo de objeto do projeto base

Um subtipo de projeto pode estender o modelo de objeto de automação do projeto base nos seguintes locais:

  • Project.Extender("<ProjectSubtypeName>"): Isso permite que um subtipo de projeto ofereça um objeto com métodos personalizados do Project objeto. Um subtipo de projeto pode usar extensores de automação para expor o Project objeto. A IInternalExtenderProvider interface implementada no agregador de subtipos do projeto principal deve oferecer seu objeto para o VSHPROPID_ExtObjectCATID de (correspondente a um itemid valor de __VSSPROPID2 VSITEMID. Raiz) CATID.

  • ProjectItem.Extender("<ProjectSubtypeName>"): Isso permite que um subtipo de projeto ofereça um objeto com métodos personalizados de um objeto específico ProjectItem dentro do projeto. Um subtipo de projeto pode usar extensores de automação para expor esse objeto. A IInternalExtenderProvider interface implementada no agregador de subtipos do projeto principal precisa oferecer seu objeto para o VSHPROPID_ExtObjectCATID CATID de __VSHPROPID2 (correspondente a um VSConstants.VSITEMIDdesejado).

  • Project.Properties: Esta coleção expõe as propriedades independentes de configuração do Project objeto. Para obter mais informações sobre Project propriedades, consulte Properties. Um subtipo de projeto pode usar extensores de automação para adicionar suas propriedades a essa coleção. A IInternalExtenderProvider interface implementada no agregador de subtipos do projeto principal precisa oferecer seu objeto para o VSHPROPID_BrowseObjectCATID de (correspondente a um itemid valor de __VSHPROPID2 VSITEMID. Raiz) CATID.

  • Configuration.Properties: Esta coleção expõe as propriedades dependentes da configuração do projeto para uma configuração específica (por exemplo, Depurar). Para obter mais informações, consulte Configuration. Um subtipo de projeto pode usar extensores de automação para adicionar suas propriedades a essa coleção. A IInternalExtenderProvider interface implementada no agregador de subtipos do projeto principal oferece seu objeto para o CATID VSHPROPID_CfgBrowseObjectCATID (correspondente a um itemid valor de VSITEMID. Raiz). A IVsCfgBrowseObject interface é usada para distinguir um objeto de navegação de configuração de outro.

Confira também