Engines.Item 方法

取得 Engines 集合的索引成員。

命名空間:  EnvDTE80
組件:  EnvDTE80 (在 EnvDTE80.dll 中)

語法

'宣告
Function Item ( _
    index As Object _
) As Engine
Engine Item(
    Object index
)
Engine^ Item(
    [InAttribute] Object^ index
)
abstract Item : 
        index:Object -> Engine 
function Item(
    index : Object
) : Engine

參數

傳回值

型別:EnvDTE80.Engine
Engine 物件。

備註

Index 值可以為:

  • BSTR,代表引擎完整名稱的前幾個字母。

  • BSTR,代表引擎的 GUID。

  • 以 1 起始的整數值

如果集合無法找到對應索引值的物件,Item 方法就會擲回 ArgumentException 例外狀況。

注意事項注意事項

當您錄製巨集,並使用 T-SQL 偵錯引擎附加至偵錯程序時,巨集會傳回相同引擎名稱的兩個不同參考。例如,dbgeng(0) = transprt.Engines.Item("T-SQL") 和 dbgeng(1) = transprt.Engines.Item("T-SQL")。發生原因是,實際上 Visual Studio 有兩個基礎 T-SQL 偵錯引擎:一個是 SQL Server 2005 偵錯引擎,另一個是 SQL Server 2000 和 SQL Server 7 T-SQL 偵錯引擎。透過 UI 附加至偵錯引擎程序時,會自動參考這兩個偵錯引擎,但在 Automation 程式碼中,必須使用唯一識別項 GUID 個別參考它們。SQL Server 2005 的 GUID 是 \{1202F5B4-3522-4149-BAD8-58B2079D704F\},而 SQL Server 2000 和 SQL Server 7 T-SQL 偵錯引擎的 GUID 是 \{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

.NET Framework 安全性

請參閱

參考

Engines 介面

EnvDTE80 命名空間