次の方法で共有


VSProject2.Imports プロパティ

プロジェクトに関連付けられている Imports オブジェクトを取得します。C# プロジェクトでは、Imports プロパティは Nothing (nullnull 参照 (Visual Basic では Nothing) 参照) に設定されます。

名前空間:  VSLangProj80
アセンブリ:  VSLangProj80 (VSLangProj80.dll 内)

構文

'宣言
ReadOnly Property Imports As Imports
Imports Imports { get; }
property Imports^ Imports {
    Imports^ get ();
}
abstract Imports : Imports
function get Imports () : Imports

プロパティ値

型 : VSLangProj.Imports
Imports コレクション (各項目はインポート ステートメントを表します)。

解説

C# プロジェクトには、プロジェクトのインポートはありません。C# プロジェクトでは、Imports の値は Nothing (nullnull 参照 (Visual Basic では Nothing) 参照) です。

このサンプル コードをアドインとして実行するには、「方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する」を参照してください。この例を実行する前に、Visual Basic プロジェクトを開いておきます。

[Visual Basic]

' Add-in
Imports VSLangProj
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)
    ListImports(applicationObject)
End Sub

Sub ListImports(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 projImports As VSLangProj.Imports = vsproject.Imports
        ' For C# projects, projImports will be Nothing.
    If Not (projImports Is Nothing) Then
        Dim i As Integer
        Dim str As String
        str = ""
        For i = 1 To projImports.Count
            str = (str & str.Concat(projImports.Item(i)) & vbCrLf)
         Next
        MsgBox(str)
    Else
        MsgBox("This project has no imports.")
    End If
End Sub

[C#]

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;
ListImports((DTE2)applicationObject);
}
public void ListImports( DTE2 dte ) 
{ 
// The first project is a Visual Basic or C# project.
    VSProject2 vsproject = ( ( VSProject2 )
(applicationObject.Solution.Projects.Item( 1 ).Object ) ); 
    VSLangProj.Imports projImports = vsproject.Imports; 
    // For C# projects, projImports will be Nothing.
    if ( !(  projImports == null )) 
    { 
        int i = 0; 
        string str = null; 
        string str1 = projImports.Count.ToString();
        MessageBox.Show("The number of Imports is: " + str1); 
        MessageBox.Show( projImports.ContainingProject.Name ); 
        str = ""; 
        for ( i=1; i<=projImports.Count; i++ ) 
        { 
            str = ( str + String.Concat( projImports.Item( i ) )
 + "\n" ); 
        } 
        MessageBox.Show( str); 
    } 
    else 
    { 
        MessageBox.Show( "This project has no imports."); 
    } 
}

.NET Framework セキュリティ

  • 直前の呼び出し元に対する完全な信頼。このメンバーは、部分的に信頼されているコードから使用することはできません。詳細については、「部分信頼コードからのライブラリの使用」を参照してください。

参照

関連項目

VSProject2 インターフェイス

Imports オーバーロード

VSLangProj80 名前空間

Imports