Window2.DTE-Eigenschaft
Ruft das Erweiterbarkeitsobjekt der obersten Ebene ab.
Namespace: EnvDTE80
Assembly: EnvDTE80 (in EnvDTE80.dll)
Syntax
'Declaration
ReadOnly Property DTE As DTE
DTE DTE { get; }
property DTE^ DTE {
DTE^ get ();
}
abstract DTE : DTE
function get DTE () : DTE
Eigenschaftswert
Typ: EnvDTE.DTE
Ein DTE-Objekt.
Hinweise
In Visual Studio ist das DTE-Objekt das Stammobjekt des Automatisierungsmodells, das in anderen Objektmodellen häufig als "Application" bezeichnet wird.
Beispiele
In diesem Beispiel wird mit dem über das Window2-Objekt abgerufenenDTE-Objekt bestimmt, ob ein Ausgabefenster zur Makro-IDE oder zur Visual Studio-IDE gehört.
Weitere Informationen zum Ausführen dieses Beispiels als Add-In finden Sie unter Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell.
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;
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.