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
Altre risorse
Controllo di progetti e soluzioni
Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione