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
参数
- index
类型:System.Object
返回值
类型:EnvDTE80.Engine
一个 Engine 对象。
备注
Index 的值可以是:
一个表示引擎完整名称的前几个字母的 BSTR。
一个表示引擎的 GUID 的 BSTR。
一个基于 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 附加到调试引擎进程时,将会自动引用这两个引擎,但是在自动化代码中,必须通过使用它们的唯一标识符 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 安全性
- 对直接调用方的完全信任。此成员不能由部分信任的代码使用。有关更多信息,请参见通过部分受信任的代码使用库。