Partager via


SolutionFolder.Parent, propriété

Obtient l'objet parent immédiat d'un objet Find.

Espace de noms :  EnvDTE80
Assembly :  EnvDTE80 (dans EnvDTE80.dll)

Syntaxe

'Déclaration
ReadOnly Property Parent As Project
Project Parent { get; }
property Project^ Parent {
    Project^ get ();
}
abstract Parent : Project
function get Parent () : Project

Valeur de propriété

Type : EnvDTE.Project
Objet DTE.

Notes

La propriété Parent retourne le parent immédiat de l'objet Find.

Exemples

Cet exemple crée un nouveau dossier de solution et y ajoute un projet à partir d'un fichier existant.Il utilise alors une boîte de message pour afficher tous les éléments de projet dans le dossier de solution, obtenus via l'objet Parent.Avant d'exécuter cet exemple, créez un dossier "Projects" sur votre lecteur principal ("C:" dans cet exemple) et créez dans ce dossier un projet Bibliothèque de classes Visual C#, nommé "ClassLibrary1".Vous devez également ouvrir un projet dans l'IDE de Visual Studio avant d'exécuter ce complément.

Pour plus d'informations sur l'exécution de cet exemple comme complément, consultez Comment : compiler et exécuter les exemples de code du modèle objet Automation.

Imports EnvDTE
Imports EnvDTE80
Public Sub OnConnection(ByVal application As Object, _
 ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
 ByRef custom As Array) Implements IDTExtensibility2.OnConnection
    _applicationObject = CType(application, DTE2)
    _addInInstance = CType(addInInst, AddIn)
    solnFolderParentExample(_applicationObject)
End Sub
Sub solnFolderParentExample(ByVal dte As DTE2)
    ' Before running this example, create a "Projects" folder
    ' off your main drive (C: in this example), and create a C# 
    ' class library project, named ClassLibrary1 in that folder.
    Dim soln As Solution2 = CType(_applicationObject.Solution _
    , Solution2)
    Dim prj As Project
    Dim sb As New System.Text.StringBuilder
    Dim SF As SolutionFolder
    Try
        Dim prjPath As String = _
         "C:\Projects\ClassLibrary1\ClassLibrary1\ClassLibrary1.csproj"
        ' Open a project in the Visual Studio IDE before 
        ' running this add-in.
        ' Add a solution folder.
        prj = soln.AddSolutionFolder("A new soln folder")
        SF = CType(prj.Object, SolutionFolder)
        ' Add a project to the new solution folder.
        SF.AddFromFile(prjPath)
        MsgBox("Added a new solution folder that contains a _
        C# project named ClassLibrary1.")
        MsgBox("The name of the solution folder parent is: "  _
        & SF.Parent.Name)
        Dim tempStr As String
        tempStr = ""
        For Each temp As ProjectItem In SF.Parent.ProjectItems
            tempStr = tempStr & temp.Name & vbCr
        Next
        MsgBox("The names of the project items in the solution _
        folder SF are:" & vbCr & tempStr)
    Catch ex As System.Exception
        MsgBox(ex.ToString)
    End Try
End Sub
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application, 
ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
    _applicationObject = (DTE2)application;
    _addInInstance = (AddIn)addInInst;
    solnFolderParentExample(_applicationObject);
}
public void solnFolderParentExample(DTE2 dte)
{
    // Before running this example, create a "Projects" folder
    // off your main drive (C: in this example), and create a C# 
    // class library project, named ClassLibrary1 in that folder.
    Solution2 soln = (Solution2)_applicationObject.Solution;
    Project prj;
    SolutionFolder SF;
    try
    {
        String prjPath =
 "C:\\Projects\\ClassLibrary1\\ClassLibrary1\\ClassLibrary1.csproj";
        // Open a project in the Visual Studio IDE before 
        // running this add-in.
        // Add a solution folder.
        prj = soln.AddSolutionFolder("A new soln folder");
        SF = (SolutionFolder)prj.Object;
        // Add a project to the new solution folder.
        SF.AddFromFile(prjPath);
        MessageBox.Show("Added a new solution folder that contains a 
C# project named ClassLibrary1.");
        MessageBox.Show("The name of the solution folder parent is: " 
+ SF.Parent.Name);
        String tempStr = null;
        foreach(ProjectItem temp in SF.Parent.ProjectItems)
        {
            tempStr = tempStr + temp.Name + "\n";
        }
        MessageBox.Show("The names of the project items in the 
solution folder SF are:" + "\n" + tempStr);
    }
    catch(SystemException ex)
    {
        MessageBox.Show(ex.ToString());
    }
}

Sécurité .NET Framework

Voir aussi

Référence

SolutionFolder Interface

EnvDTE80, espace de noms