Compartilhar via


Interface ProjectItems

Contém objetos de ProjectItem, cada representando itens no projeto.

Namespace:  EnvDTE
Assembly:  EnvDTE (em EnvDTE. dll)

Sintaxe

<GuidAttribute("8E2F1269-185E-43C7-8899-950AD2769CCF")> _
Public Interface ProjectItems _
    Inherits IEnumerable

Dim instance As ProjectItems
[GuidAttribute("8E2F1269-185E-43C7-8899-950AD2769CCF")]
public interface ProjectItems : IEnumerable
[GuidAttribute(L"8E2F1269-185E-43C7-8899-950AD2769CCF")]
public interface class ProjectItems : IEnumerable
public interface ProjectItems extends IEnumerable

Comentários

Este conjunto consiste em uma estrutura hierárquica (aninhada) das coleções ProjectItems em cascata que representam itens em cada projeto.

Fazer referência a esta coleção usando Solution.Item().ProjectItems.

Observação:

No Visual Studio .NET 2003 e Visual Studio 2005, Manipulação especial para a coleção Project.ProjectItems para Visual C++ não é mais necessário.Ou seja, enquanto Visual C++ coleção ProjectItems anteriormente armazenados todos os arquivos do projeto Visual C++ em uma lista plana, agora os arquivos são armazenados hierarquicamente como em outras linguagens de programação.

Como essa Alterar pode afetar seu código existente, há uma maneira para emular o comportamento antigo na Novo Projeto-modelo de objeto específico ao tentar Índicear a coleção de Project.ProjectItems para determinar se um arquivo está no projeto.A principal diferença é que você pode agora retornar ao modelo de objeto DTE chamando .Object em um objeto Visual C++.

Dim proj as VCProject = DTE.ActiveSolutionProjects(0).Object
Dim fileColl as IVCCollection = proj.Files
Dim file as VCFile = fileColl.Item("MyFile.cpp")
Dim projItem as ProjectItem = file.Object

Exemplos

' Before running, create a new project or open an existing project.
Sub ListProj()
   Dim proj As Project = DTE.ActiveSolutionProjects(0)
   Dim win As Window = _
     DTE.Windows.Item(Constants.vsWindowKindCommandWindow)
   ListProjAux(proj.ProjectItems(), 0)
End Sub

Sub ListProjAux(ByVal projitems As ProjectItems, ByVal Level As Integer)
   Dim projitem As ProjectItem
   For Each projitem In projitems
      MsgBox("Project item: " & projitem.Name, Level)
      ' Recurse if the project item has sub-items...
      Dim projitems2 As ProjectItemsprojitems2 = projitem.ProjectItems
      Dim notsubcoll As Boolean = projitems2 Is Nothing
      If Not notsubcoll Then
         ListProjAux(projitems2, Level + 1)
      End If
   Next
End Sub

Consulte também

Referência

ProjectItems Membros

Espaço para nome EnvDTE

Outros recursos

Controlar projetos e soluções

Como: Compilar e executar os exemplos de códigos automação modelo de objeto