Window2.DTE (Propiedad)
Obtiene el objeto de extensibilidad de nivel superior.
Espacio de nombres: EnvDTE80
Ensamblado: EnvDTE80 (en EnvDTE80.dll)
Sintaxis
'Declaración
ReadOnly Property DTE As DTE
Get
DTE DTE { get; }
property DTE^ DTE {
DTE^ get ();
}
abstract DTE : DTE
function get DTE () : DTE
Valor de propiedad
Tipo: EnvDTE.DTE
Objeto DTE.
Implementaciones
Comentarios
En Visual Studio, el objeto DTE es la raíz del modelo de automatización, al que otros modelos de objetos suelen denominar "Application".
Ejemplos
Este ejemplo usa el objeto DTE, obtenido a través de un objeto Window2, para determinar si una Ventana de salida pertenece al IDE de macros o al IDE de Visual Studio.
Para obtener más información sobre cómo ejecutar este ejemplo como un complemento, vea Cómo: Compilar y ejecutar los ejemplos de código del modelo de objetos de automatización.
Imports EnvDTE
Imports EnvDTE80
Public Sub OnConnection(ByVal application As Object, _
ByVal connectMode As ext_ConnectMode, ByVal addInInst As Object, _
ByRef custom As Array) Implements IDTExtensibility2.OnConnection
_applicationObject = CType(application, DTE2)
_addInInstance = CType(addInInst, AddIn)
DTEExample(_applicationObject)
End Sub
Sub DTEExample(ByVal dte As DTE2)
Dim msg As String = _
"The current Output Window object belongs to the "
Dim output As Window2 = _
CType(_applicationObject.Windows.Item _
(Constants.vsWindowKindOutput), Window2)
If IsMacrosIDE(output.DTE) Then
MsgBox(msg & "macros IDE.")
Else
MsgBox(msg & "main IDE.")
End If
output = _
CType(dte.MacrosIDE.Windows.Item(Constants.vsWindowKindOutput), _
Window2)
If IsMacrosIDE(output.DTE) Then
MsgBox(msg & "macros IDE.")
Else
MsgBox(msg & "main IDE.")
End If
End Sub
Function IsMacrosIDE(ByVal ide As DTE) As Boolean
Dim val As Boolean = True
Try
' The MacrosIDE property will throw an exception if ide
' is not the main DTE object.
If IsNothing(ide.MacrosIDE) = False Then
val = False
End If
Catch ex As Exception
End Try
Return val
End Function
using EnvDTE;
using EnvDTE80;
using System.Windows.Forms;
public void OnConnection(object application,
ext_ConnectMode connectMode, object addInInst, ref Array custom)
{
_applicationObject = (DTE2)application;
_addInInstance = (AddIn)addInInst;
DTEExample(_applicationObject);
}
public void DTEExample(DTE2 dte)
{
String msg = "The current Output Window object belongs to the ";
Window2 output =
(Window2)_applicationObject.Windows.Item(Constants.vsWindowKindOutput);
if (IsMacrosIDE(output.DTE))
MessageBox.Show(msg + "macros IDE.");
else
MessageBox.Show(msg + "main IDE.");
output =
(Window2)_applicationObject.Windows.Item
(Constants.vsWindowKindMacroExplorer);
if (IsMacrosIDE(output.DTE))
MessageBox.Show(msg + "macros IDE.");
else
MessageBox.Show(msg + "main IDE.");
}
public bool IsMacrosIDE(DTE ide)
{
try
{
bool val = true;
if (ide.MacrosIDE == null)
val = false;
}
catch (Exception ex)
{
}
return val;
}
Seguridad de .NET Framework
- Plena confianza para el llamador inmediato. Un código de confianza parcial no puede utilizar este miembro. Para obtener más información, vea Utilizar bibliotecas de código que no es de plena confianza.