Project.CodeModel プロパティ

プロジェクトの CodeModel オブジェクトを取得します。

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

構文

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

プロパティ値

型: EnvDTE.CodeModel
CodeModel オブジェクト。

解説

CodeModel オブジェクトを使用すると、ソース ファイルのコード要素や定義にプロジェクト レベルでアクセスできます。

Public Sub CodeExample(ByVal dte As DTE2) 
    Try
        ' Open a project before running this sample.
        Dim prj As Project = dte.Solution.Projects.Item(1)
        Dim prjs As Projects
        Dim msg2 As String = "Global Variables:"
        Dim msg As String
        msg = "FileName: " + prj.FileName
        msg += vbCrLf + "FullName: " + prj.FullName
        msg += vbCrLf + "Project-level access to " + prj.CodeModel.CodeElements.Count.ToString() + " CodeElements through the CodeModel"
        prjs = prj.Collection
        msg += vbCrLf + "There are " + prjs.Count.ToString() + " projects in the same collection."
        msg += vbCrLf + "Application containing this project: " + prj.DTE.Name
        If prj.Saved Then
            msg += vbCrLf + "This project has not been modified since the last save."
        Else
            msg += vbCrLf + "This project has been modified since the last save."
        End If
        msg +=  vbCrLf + "Properties:"
        Dim prop As [Property]
        For Each prop In  prj.Properties
            msg += vbCrLf + "  " + prop.Name
        Next prop
        Dim s As String
        For Each s In  CType(prj.Globals.VariableNames, Array)
            msg2 += vbCrLf + "  " + s
        Next s
        
        MessageBox.Show(msg, "Project Name: " + prj.Name)
        MessageBox.Show(msg2)
    Catch ex As Exception
        MessageBox.Show(ex.Message)
    End Try
End Sub
public void CodeExample(DTE2 dte)
{  
    try
    {   // Open a project before running this sample.
        Project prj = dte.Solution.Projects.Item(1);
        Projects prjs;
        string msg, msg2 = "Global Variables:";
        msg = "FileName: " + prj.FileName;
        msg += "\nFullName: " + prj.FullName;
        msg += "\nProject-level access to " + prj.CodeModel.CodeElements.Count.ToString() +
            " CodeElements through the CodeModel";
        prjs = prj.Collection;
        msg += "\nThere are " + prjs.Count.ToString() + " projects in the same collection.";
        msg += "\nApplication containing this project: " + prj.DTE.Name;
        if (prj.Saved)
            msg += "\nThis project hasn't been modified since the last save.";
        else
            msg += "\nThis project has been modified since the last save.";
        msg += "\nProperties: ";
        foreach (Property prop in prj.Properties)
        {
            msg += "\n  " + prop.Name;
        }
        foreach (String s in (Array)prj.Globals.VariableNames)
        {
            msg2 += "\n  " + s;
        }

        MessageBox.Show(msg, "Project Name: " + prj.Name);
        MessageBox.Show(msg2);
    }
    catch(Exception ex)
    {
        MessageBox.Show(ex.Message);
    }
}

.NET Framework セキュリティ

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

参照

参照

Project インターフェイス

EnvDTE 名前空間

その他の技術情報

方法 : オートメーション オブジェクト モデルのコード例をコンパイルおよび実行する