Поделиться через


Project.CodeModel - свойство

Обновлен: Ноябрь 2007

Возвращает объект CodeModel для проекта.

Пространство имен:  EnvDTE
Сборка:  EnvDTE (в EnvDTE.dll)

Синтаксис

'Декларация
ReadOnly Property CodeModel As CodeModel
'Применение
Dim instance As Project
Dim value As CodeModel

value = instance.CodeModel
CodeModel CodeModel { get; }
property CodeModel^ CodeModel {
    CodeModel^ get ();
}
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);
    }
}

Разрешения

См. также

Ссылки

Project Интерфейс

Project - члены

EnvDTE - пространство имен

Другие ресурсы

Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации