共用方式為


Reference3.ContainingProject 屬性

取得含有此參考的 Project

命名空間:  VSLangProj80
組件:  VSLangProj80 (在 VSLangProj80.dll 中)

語法

'宣告
ReadOnly Property ContainingProject As Project
Project ContainingProject { get; }
property Project^ ContainingProject {
    Project^ get ();
}
abstract ContainingProject : Project
function get ContainingProject () : Project

屬性值

型別:EnvDTE.Project
含有此參考的 Project 物件。

備註

這個屬性可用來擷取包含此參考的 Project 物件。

範例

此範例會針對所有參考顯示包含的專案,以及針對開啟之 Visual Basic 或 Visual C# 專案中的每個參考個別顯示包含的專案。若要將此範例當做增益集來執行,請參閱 HOW TO:編譯和執行 Automation 物件模型程式碼範例

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)
    TestGetProjectName(applicationObject)
End Sub
Sub TestGetProjectName(ByVal dte As DTE2)
    ' First project is a Visual Basic or C# project.
    Dim theVSProject As VSProject2 = _
    CType(applicationObject.Solution.Projects.Item(1)._
    Object, VSProject2)
    Dim refs As References = theVSProject.References
    MsgBox("The containing project for all references is : " _
    & GetProjectName(refs))
    Dim aRef As Reference3
    Dim refStr As String
    refStr = ""
    For Each aRef In theVSProject.References
        refStr &= (aRef.Name & "'s containing project is: " _
        & aRef.ContainingProject.Name & vbCr)
    Next
    MsgBox("The containing project for each reference in the project:" _
    & vbCr & vbCr & refStr & vbCr)
End Sub
Private Function GetProjectName(ByVal refs As References) _
    As String
    Return refs.ContainingProject.Name
End Function
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;
    TestGetProjectName(((DTE2)applicationObject));
}
public void TestGetProjectName(DTE2 dte)
{
    // First project is a Visual Basic or C# project.
    VSProject2 theVSProject = 
((VSProject2)(applicationObject.Solution.Projects.Item(1).Object));
    References refs = theVSProject.References;
    MessageBox.Show("The containing project for all references is : " 
+ GetProjectName(refs));
    Reference aRef = null;
    string refStr = null;
    refStr = "";
    foreach (VSLangProj80.Reference3 temp in theVSProject.References)
    {
        aRef = temp;
        refStr += (aRef.Name + "'s containing project is: " 
+ aRef.ContainingProject.Name + "\n");
    }
    MessageBox.Show("The containing project for each reference in 
the project:" + "\n" + "\n" + refStr + "\n");
}

private string GetProjectName(References refs)
{
    return refs.ContainingProject.Name;
}

.NET Framework 安全性

請參閱

參考

Reference3 介面

ContainingProject 多載

VSLangProj80 命名空間