Interfaccia ProjectItems

Aggiornamento: novembre 2007

Contiene oggetti ProjectItem, ognuno dei quali rappresenta elementi del progetto.

Spazio dei nomi:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

Sintassi

<GuidAttribute("8E2F1269-185E-43C7-8899-950AD2769CCF")> _
Public Interface ProjectItems _
    Implements 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

Note

Questo insieme è costituito da una struttura gerarchica (nidificata) di insiemi ProjectItems a cascata, che rappresentano gli elementi di ciascun progetto.

Fare riferimento a questo insieme utilizzando Solution.Item().ProjectItems.

Nota:

In Visual Studio .NET 2003 e Visual Studio 2005 non è più necessario gestire in modo speciale l'insieme Project.ProjectItems per Visual C++. Prima, infatti, nell'insieme ProjectItems di Visual C++ tutti i file di progetto di Visual C++ venivano archiviati in un elenco semplice, mentre ora i file vengono archiviati in modo gerarchico, come negli altri linguaggi di programmazione.

Poiché questa modifica può influenzare il codice esistente, è possibile emulare il comportamento precedente nel nuovo modello a oggetti specifico del progetto quando si indicizza l'insieme Project.ProjectItems per verificare la presenza di un file nel progetto. La differenza principale consiste nel fatto che ora è possibile tornare al modello a oggetti DTE chiamando .Object in un oggetto 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

Esempi

' 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

Vedere anche

Riferimenti

Membri ProjectItems

Spazio dei nomi EnvDTE

Altre risorse

Controllo di progetti e soluzioni

Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione