次の方法で共有


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# プロジェクトごとに表示します。このサンプル コードをアドインとして実行するには、「方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する」を参照してください。

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 名前空間