Reference3.SourceProject Propriété

Définition

Obtient un objet Project si la référence est un projet. Sinon, elle ne retourne rien (objet null).

public:
 property EnvDTE::Project ^ SourceProject { EnvDTE::Project ^ get(); };
public:
 property EnvDTE::Project ^ SourceProject { EnvDTE::Project ^ get(); };
[System.Runtime.InteropServices.DispId(16)]
public EnvDTE.Project SourceProject { [System.Runtime.InteropServices.DispId(16)] get; }
[<System.Runtime.InteropServices.DispId(16)>]
[<get: System.Runtime.InteropServices.DispId(16)>]
member this.SourceProject : EnvDTE.Project
Public ReadOnly Property SourceProject As Project

Valeur de propriété

Project

Retourne un objet Project.

Implémente

Attributs

Exemples

Cet exemple itère au sein de toutes les références et affiche le nom du SourceProject , s’il en existe un. Pour exécuter cet exemple en tant que complément, consultez Comment : compiler et exécuter les exemples de code du modèle objet Automation. Ouvrez un Visual Basic Visual C# projet ou avant d’exécuter cet exemple.

Imports VSLangProj  
Imports VSLangProj2  
Imports VSLangProj80  
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)  
    DisplaySourceProjectName(applicationObject)  
End Sub  
Public Sub DisplaySourceProjectName(ByVal dte As DTE2)  
    ' The first project is a Visual Basic or C# project.  
    Dim vsProject As VSProject2 =_  
    CType(applicationObject.Solution.Projects.Item(1).Object, _  
    VSProject2)  
    Dim aRef As Reference3  
    Dim refStr As String  
    refStr = ""  
    Dim project As EnvDTE.Project  
    For Each aRef In vsProject.References  
        project = aRef.SourceProject  
        If project Is Nothing Then  
            refStr += (aRef.Name & " has no source project." & vbCr _  
            & vbCr)  
        Else  
            refStr += (aRef.Name & " has a source project named " _  
            & project.Name & vbCr & vbCr)  
        End If  
    Next  
    MsgBox(refStr)  
End Sub  
using System.Windows.Forms;  
using VSLangProj;  
using VSLangProj2;  
using VSLangProj80;  
public void OnConnection(object application,  
 ext_ConnectMode connectMode, object addInInst, ref Array custom)  
{  
    applicationObject = (DTE2)application;  
    addInInstance = (AddIn)addInInst;  
    DisplaySourceProjectName(((DTE2)applicationObject));  
}  
public void DisplaySourceProjectName(DTE2 dte)  
{  
    // The first project is a Visual Basic or C# project.  
    VSProject2 aProject =   
((VSProject2)(applicationObject.Solution.Projects.Item(1).Object));  
    Reference3 aRef = null;  
    string refStr = null;  
    refStr = "";  
    EnvDTE.Project project = null;  
    foreach (VSLangProj80.Reference3 temp in aProject.References)  
    {  
        aRef = temp;   
        project = aRef.SourceProject;  
        if (project == null)  
        {  
            refStr += (aRef.Name + " has no source project." + "\n"   
+ "\n");  
        }  
        else  
        {  
            refStr += (aRef.Name + " has a source project named "   
+ project.Name + "\n" + "\n");  
        }  
    }  
    MessageBox.Show(refStr);  
}  

Remarques

Pour qu’un projet utilise des objets générés par un deuxième projet, le premier projet doit contenir une référence au deuxième projet. Dans ce cas, la SourceProject propriété peut retourner un Project objet pour le deuxième projet.

S’applique à