ProjectItems-Schnittstelle
Aktualisiert: November 2007
Enthält ProjectItem-Objekte, die die einzelnen Elemente des Projekts darstellen.
Namespace: EnvDTE
Assembly: EnvDTE (in EnvDTE.dll)
Syntax
<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
Hinweise
Diese Auflistung besteht aus einer hierarchischen (geschachtelten) Struktur kaskadierter ProjectItems-Auflistungen, die die Elemente in den einzelnen Projekten darstellen.
Auf diese Auflistung können Sie mit Solution.Item().ProjectItems verweisen.
Hinweis: |
---|
In Visual Studio .NET 2003 und Visual Studio 2005 ist für die Project.ProjectItems-Auflistung für Visual C++ keine besondere Behandlung mehr erforderlich. Während in der ProjectItems-Auflistung von Visual C++ alle Visual C++-Projektdateien zuvor in einer unstrukturierten Liste gespeichert wurden, sind die Dateien jetzt wie in den anderen Programmiersprachen hierarchisch gespeichert. |
Da diese Änderung sich auf den vorhandenen Code auswirken kann, gibt es eine Möglichkeit, das alte Verhalten in dem neuen projektspezifischen Objektmodell zu emulieren, wenn die Project.ProjectItems-Auflistung indiziert werden soll, um das Vorhandensein einer Datei im Projekt zu ermitteln. Der Hauptunterschied besteht darin, dass Sie jetzt zum DTE-Objektmodell zurückkehren können, indem .Object für ein Visual C++-Objekt aufgerufen wird.
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
Beispiele
' 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
Siehe auch
Referenz
Weitere Ressourcen
Steuern von Projekten und Projektmappen
Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell