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 | Получает коллекцию объектов, содержащихся в данной конструкции кода. |
![]() |
Collection | Получает коллекцию объектов CodeAttribute2. |
![]() |
DTE | Возвращает объект расширения верхнего уровня. |
![]() |
EndPoint | Возвращает точку редактирования, соответствующую местоположению конца атрибута кода. |
![]() |
Extender | Возвращает запрошенный объект Extender, если он доступен для данного атрибута кода. |
![]() |
ExtenderCATID | Получает идентификатор категории расширителя (CATID) для объекта. |
![]() |
ExtenderNames | Возвращает список имен доступных расширителей объекта. |
![]() |
FullName | Возвращает полный путь и имя файла объекта. |
![]() |
InfoLocation | Возвращает модель кода. |
![]() |
IsCodeType | Возвращает значение, указывающее, может ли объект CodeType быть получен от данного объекта. |
![]() |
Kind | Возвращает перечисление, представляющее тип атрибута. |
![]() |
Language | Возвращает константу, определяющую язык программирования, использовавшийся при создании атрибута. |
![]() |
Name | Возвращает или задает имя атрибута кода. |
![]() |
Parent | Возвращает непосредственный родительский объект атрибута кода. |
![]() |
ProjectItem | Возвращает объект ProjectItem, связанный с атрибутом кода. |
![]() |
StartPoint | Получает объект TextPoint, определяющий начало атрибута. |
![]() |
Target | Возвращает или задает целевой объект атрибута кода. |
![]() |
Value | Возвращает или задает данные для атрибута кода. |
В начало страницы
Методы
Имя | Описание | |
---|---|---|
![]() |
AddArgument | Добавляет в атрибут аргумент. |
![]() |
Delete | Удаляет из элемента кода все атрибуты. |
![]() |
GetEndPoint | Возвращает объект TextPoint, отмечающий конечное положение атрибута. |
![]() |
GetStartPoint | Возвращает объект 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;
}
См. также
Ссылки
Другие ресурсы
Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации
Практическое руководство. Поиск кода при помощи модели кода (Visual Basic)
Практическое руководство. Поиск кода при помощи модели кода (Visual C#)