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


CodeAttribute2 - интерфейс

Определяет атрибут для элемента кода.

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

Синтаксис

'Декларация
<GuidAttribute("35187E2A-E5F6-4F89-A4CE-DA254640855B")> _
Public Interface CodeAttribute2 _
    Inherits CodeAttribute
[GuidAttribute("35187E2A-E5F6-4F89-A4CE-DA254640855B")]
public interface CodeAttribute2 : CodeAttribute
[GuidAttribute(L"35187E2A-E5F6-4F89-A4CE-DA254640855B")]
public interface class CodeAttribute2 : CodeAttribute
[<GuidAttribute("35187E2A-E5F6-4F89-A4CE-DA254640855B")>]
type CodeAttribute2 =  
    interface
        interface CodeAttribute
    end
public interface CodeAttribute2 extends CodeAttribute

Тип CodeAttribute2 предоставляет следующие члены.

Свойства

  Имя Описание
Открытое свойство Arguments Возвращает коллекцию объектов CodeElement, содержащую объекты CodeAttributeArgument, связанные с данным атрибутом.
Открытое свойство Children (Унаследовано от CodeAttribute.)
Открытое свойство Children Возвращает коллекцию объектов, содержащихся в данной конструкции кода.
Открытое свойство Collection (Унаследовано от CodeAttribute.)
Открытое свойство Collection Возвращает коллекцию объектов CodeAttribute2.
Открытое свойство DTE (Унаследовано от CodeAttribute.)
Открытое свойство DTE Возвращает объект расширения верхнего уровня.
Открытое свойство EndPoint (Унаследовано от CodeAttribute.)
Открытое свойство EndPoint Возвращает точку редактирования, соответствующую местоположению конца атрибута кода.
Открытое свойство Extender[String] (Унаследовано от CodeAttribute.)
Открытое свойство Extender[String] Возвращает запрошенный объект Extender, если он доступен для данного атрибута кода.
Открытое свойство ExtenderCATID (Унаследовано от CodeAttribute.)
Открытое свойство ExtenderCATID Возвращает соответствующий объекту идентификатор категории расширителя (CATID).
Открытое свойство ExtenderNames (Унаследовано от CodeAttribute.)
Открытое свойство ExtenderNames Возвращает список имен доступных расширителей объекта.
Открытое свойство FullName (Унаследовано от CodeAttribute.)
Открытое свойство FullName Возвращает полный путь и имя файла объекта.
Открытое свойство InfoLocation (Унаследовано от CodeAttribute.)
Открытое свойство InfoLocation Возвращает модель кода.
Открытое свойство IsCodeType (Унаследовано от CodeAttribute.)
Открытое свойство IsCodeType Возвращает значение, указывающее, может ли объект CodeType быть получен от данного объекта.
Открытое свойство Kind (Унаследовано от CodeAttribute.)
Открытое свойство Kind Возвращает перечисление, представляющее тип атрибута.
Открытое свойство Language (Унаследовано от CodeAttribute.)
Открытое свойство Language Возвращает константу, определяющую язык программирования, использовавшийся при создании атрибута.
Открытое свойство Name (Унаследовано от CodeAttribute.)
Открытое свойство Name Возвращает или задает имя атрибута кода.
Открытое свойство Parent (Унаследовано от CodeAttribute.)
Открытое свойство Parent Возвращает непосредственный родительский объект атрибута кода.
Открытое свойство ProjectItem (Унаследовано от CodeAttribute.)
Открытое свойство ProjectItem Возвращает объект ProjectItem, связанный с атрибутом кода.
Открытое свойство StartPoint (Унаследовано от CodeAttribute.)
Открытое свойство StartPoint Получает объект TextPoint, определяющий начало атрибута.
Открытое свойство Target Возвращает или задает целевой объект атрибута кода.
Открытое свойство Value (Унаследовано от CodeAttribute.)
Открытое свойство Value Возвращает или задает данные для атрибута кода.

В начало страницы

Методы

  Имя Описание
Открытый метод AddArgument Добавляет в атрибут аргумент.
Открытый метод Delete() (Унаследовано от CodeAttribute.)
Открытый метод Delete() Удаляет из элемента кода все атрибуты.
Открытый метод GetEndPoint(vsCMPart) (Унаследовано от CodeAttribute.)
Открытый метод GetEndPoint(vsCMPart) Возвращает объект TextPoint, отмечающий конечное положение атрибута.
Открытый метод GetStartPoint(vsCMPart) (Унаследовано от CodeAttribute.)
Открытый метод GetStartPoint(vsCMPart) Возвращает объект TextPoint определяющий начальное положение атрибута.

В начало страницы

Заметки

Объект CodeAttribute2 предоставляет один атрибут метаданных COM, связанный с элементом кода. Добавление атрибутов производится с помощью метода AddAttribute, а удаление атрибутов — путем применения метода Delete к соответствующему объекту. С помощью этого объекта можно получать и задавать значение атрибута кода.

Примечание

Значения элементов модели кода, таких как классы, структуры, функции, атрибуты, делегаты и другие, после внесения некоторых изменений могут оказаться недетерминированными, другими словами, нельзя рассчитывать, что их значения будут всегда оставаться одинаковыми.Дополнительные сведения см. в разделе "Значения элементов модели кода могут изменяться" раздела Практическое руководство. Поиск кода при помощи модели кода (Visual Basic).

Примеры

// The following example creates a new namespace and attribute in the current class.
public void CreateClassAndAttrib(DTE2 applicationObject)
{
    // Before running, load or create a project.
    FileCodeModel2 fcm2 = GetFileCodeModel(applicationObject);
    CodeAttribute2 cmAttribute;
    CodeClass2 cmClass;

    if (fcm2 != null)
    {
        CodeNamespace cmNamespace;
        // Try to create a new namespace.
        try
        {
            cmNamespace = fcm2.AddNamespace("CMNamespace", -1);
            // If successful, create the other code elements.
            if (cmNamespace != null)
            {
                cmClass = (CodeClass2)cmNamespace.AddClass("ANewClass", 
                -1, null, null, vsCMAccess.vsCMAccessPrivate);
                cmAttribute = (CodeAttribute2)cmClass.AddAttribute
                ("NewAttribute", "AttributeValue", -1);
            }
            else
            {
                MessageBox.Show("Cannot continue - no filecodemodel 
                available.");
            }
        }
        catch (Exception ex)
        {
            MessageBox.Show("ERROR: " + ex);
        }
    }
}

public FileCodeModel2 GetFileCodeModel(DTE2 applicationObject)
{
    // Returns the FileCodeModel object of the active 
    // window.
    TextWindow txtWin = 
    (TextWindow)applicationObject.ActiveWindow.Object;
    FileCodeModel2 fcm2;
    if (txtWin != null)
    {
        try
        {
             fcm2 = (FileCodeModel2)txtWin.Parent.
             ProjectItem.FileCodeModel;
             return fcm2;
        }
        catch (Exception ex)
        {
             MessageBox.Show("ERROR: " + ex);
             return null;
        }
    }
    else
        return null;
}

См. также

Ссылки

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

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

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

Практическое руководство. Поиск кода при помощи модели кода (Visual Basic)

Практическое руководство. Поиск кода при помощи модели кода (Visual C#)