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


CodeEvent.InfoLocation - свойство

Возвращает сведения о возможностях модели кода.

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

Синтаксис

'Декларация
ReadOnly Property InfoLocation As vsCMInfoLocation
    Get
vsCMInfoLocation InfoLocation { get; }
property vsCMInfoLocation InfoLocation {
    vsCMInfoLocation get ();
}
abstract InfoLocation : vsCMInfoLocation
function get InfoLocation () : vsCMInfoLocation

Значение свойства

Тип: EnvDTE.vsCMInfoLocation
Одно из значений vsCMInfoLocation.

Заметки

Если InfoLocation возвращает vsCMInfoLocationProject, то можно установить свойства, а также получить StartPoint, EndPoint и т.д. При переходе от одного объекта модели кода (A) к другому (B) — например, от функции к ее типу или от класса к базовому классу — объект B может иметь тип vsCMInfoLocationExternal, если его определение находится в другом проекте. Размещение зависит от реализации модели кода, от того, реализованы ли проекты объектов A и B на одном языке, и т. д.

Если свойство InfoLocation возвращает значение vsCMInfoLocationExternal, то сведения можно извлечь только из метаданных, библиотеки DLL или из замороженных источников. При этом можно получить значения StartPoint и EditPoint, но невозможно редактировать документ; нельзя задавать свойства или изменять текст, находящийся за элементом кода.

Если InfoLocation возвращает vsCMInfoLocationNone, то доступен только объект модели кода, имеющий имя. Кроме того, в зависимости от контекста исходного кода можно в некоторых случаях понять, должно ли имя быть именем класса или интерфейса. Однако в такой ситуации, поскольку модель кода не может разрешить данное имя, вернув какие бы то ни были полезные сведения, объект оказывается бесполезен.

Примечание

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

Примеры

В следующем примере демонстрируется применение свойства InfoLocation.

Чтобы проверить это свойство, выполните следующие действия.

  1. Откройте проект и выберите элемент кода события, установив текстовый курсор в объект события.

  2. Запустите надстройку.

public static void InfoLocation(EnvDTE80.DTE2 dte)
{
    TextSelection objTextSel;
    EnvDTE80.CodeEvent codeEvent;
    objTextSel = (TextSelection)dte.ActiveDocument.Selection;
    codeEvent = (EnvDTE80.CodeEvent)objTextSel.ActivePoint.get_CodeElement(vsCMElement.vsCMElementEvent);

    MessageBox.Show("\nInfoLocation property: " +
                    codeEvent.InfoLocation, "Testing CodeEvent");
}

Безопасность платформы .NET Framework

См. также

Ссылки

CodeEvent Интерфейс

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

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

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

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

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