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


Engines.Item - метод

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

Возвращает индексированный элемент коллекции Engines.

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

Синтаксис

'Декларация
Function Item ( _
    index As Object _
) As Engine
'Применение
Dim instance As Engines
Dim index As Object
Dim returnValue As Engine

returnValue = instance(index)
Engine Item(
    Object index
)
Engine^ Item(
    [InAttribute] Object^ index
)
function Item(
    index : Object
) : Engine

Параметры

Возвращаемое значение

Тип: EnvDTE80.Engine
Объект Engine.

Заметки

Значением Index может быть:

  • строка BSTR, представляющая первые несколько букв полного имени модуля;

  • строка BSTR, представляющая идентификатор GUID модуля;

  • целое значение, отсчитываемое от единицы

Метод Item вызывает исключение ArgumentException, если в коллекции не удается найти объект, который соответствует значению индекса.

f5d5c212.alert_note(ru-ru,VS.90).gifПримечание.

При записи макроса и его подключении к процессу отладки с использованием отладчика T-SQL этот макрос возвращает две разные ссылки на одно имя отладчика. Например, dbgeng(0) = transprt.Engines.Item("T-SQL") и dbgeng(1) = transprt.Engines.Item("T-SQL"). Это происходит потому, что в Visual Studio существуют два базовых отладчика T-SQL: один для отладчика в SQL Server 2005, а другой для отладчика T-SQL для SQL Server 2000 и SQL Server 7. На них обоих автоматически создается ссылка при присоединении к процессу отладки через пользовательский интерфейс, но в коде автоматизации на них необходимо ссылаться через их уникальный идентификатор GUID. GUID для отладчика в SQL Server 2005 — {1202F5B4-3522-4149-BAD8-58B2079D704F}, а GUID для отладчика T-SQL в SQL Server 2000 и SQL Server 7 — {5AF6F83C-B555-11D1-8418-00C04FA302A1}. Таким образом, указанные выше вызовы следует заменить на dbgeng(0) = trans.Engines.Item("{1202F5B4-3522-4149-BAD8-58B2079D704F}") и dbgeng(1) = trans.Engines.Item("{1202F5B4-3522-4149-BAD8-58B2079D704F}") соответственно.

Примеры

' Macro code.
Imports EnvDTE
Imports EnvDTE80
Imports System.Diagnostics
Imports Microsoft.VisualBasic.ControlChars

Public Module Module1

    Sub ShowDefaultEngines()
        Dim dbg As EnvDTE80.Debugger2
        dbg = DTE.Debugger

        dbg.HexDisplayMode = True

        Dim transport As EnvDTE80.Transport
        transport = dbg.Transports.Item("default")

        Dim engine As EnvDTE80.Engine
        Dim strEngineList As String
        For Each engine In transport.Engines
            strEngineList = strEngineList + engine.Name + ", " + _
            engine.ID + ", " + engine.AttachResult.ToString + NewLine
        Next
        MsgBox(strEngineList)
    End Sub
End Module

Разрешения

См. также

Ссылки

Engines Интерфейс

Engines - члены

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