ProjectItems, interface
Mise à jour : novembre 2007
Contient des objets ProjectItem représentant chacun des éléments du projet.
Espace de noms : EnvDTE
Assembly : EnvDTE (dans EnvDTE.dll)
Syntaxe
<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
Notes
Cette collection est constituée d'une structure hiérarchique (imbriquée) de collections ProjectItems en cascade qui représentent les éléments de chaque projet.
Pour référencer cette collection, utilisez : Solution.Item().ProjectItems.
Remarque : |
---|
Dans Visual Studio .NET 2003 et Visual Studio 2005, la gestion spéciale de la collection Project.ProjectItems pour Visual C++ n'est plus nécessaire. En d'autres termes, alors que la collection ProjectItems de Visual C++ stockait auparavant tous les fichiers projet de Visual C++ dans une liste simple, ces fichiers sont désormais stockés hiérarchiquement, comme dans les autres langages de programmation. |
Dans la mesure où cette modification risque d'affecter votre code existant, il existe un moyen d'émuler l'ancien comportement dans le nouveau modèle objet spécifique au projet lorsque vous essayez d'indexer la collection Project.ProjectItems pour déterminer si un fichier se trouve ou non dans le projet. La principale différence est que vous pouvez désormais revenir au modèle objet DTE en appelant .Object sur un objet 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
Exemples
' 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
Voir aussi
Référence
Autres ressources
Contrôle de projets et de solutions
Comment : compiler et exécuter les exemples de code du modèle objet Automation