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;
}
См. также
Ссылки
Другие ресурсы
Практическое руководство. Компиляция и выполнение примеров кода модели объектов автоматизации
Практическое руководство. Поиск кода при помощи модели кода (Visual Basic)
Практическое руководство. Поиск кода при помощи модели кода (Visual C#)