Thread.DTE-Eigenschaft
Ruft das Erweiterbarkeitsobjekt der obersten Ebene ab.
Namespace: EnvDTE
Assembly: EnvDTE (in EnvDTE.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 stellt das DTE-Objekt das Stammobjekt des Automatisierungsmodells dar, das in anderen Objektmodellen häufig als "Anwendung" bezeichnet wird.
Beispiele
Im folgenden Beispiel wird veranschaulicht, wie die DTE-Eigenschaft verwendet wird.
So testen Sie diese Eigenschaft
Legen Sie den Haltepunkt in der Callbackmethode des Arbeitsthreads fest.
Führen Sie die Zielanwendung im Debugmodus aus.
Führen Sie das Add-In aus, wenn die Anwendung am Haltepunkt anhält.
public static void TestThreadProperties(DTE dte)
{
// Setup debug Output window.
Window w = (Window)dte.Windows.Item(EnvDTE.Constants.vsWindowKindOutput);
w.Visible = true;
OutputWindow ow = (OutputWindow)w.Object;
OutputWindowPane owp = ow.OutputWindowPanes.Add("Thread Test");
owp.Activate();
EnvDTE.Threads threads = dte.Debugger.CurrentProgram.Threads;
owp.OutputString("\nNumber of items in the Thread collection: " +
threads.Item(1).Collection.Count + "\n");
foreach(EnvDTE.Thread thread in threads)
{
owp.OutputString("\nThread: " + thread.ID + " Name: " + thread.Name);
owp.OutputString("\n Edition of the environment : " + thread.DTE.Edition);
owp.OutputString("\n Is alive : " + thread.IsAlive);
owp.OutputString("\n Is frozen : " + thread.IsFrozen);
owp.OutputString("\n Location : " + thread.Location);
owp.OutputString("\n Parent's current mode : " + thread.Parent.CurrentMode);
owp.OutputString("\n Priority : " + thread.Priority);
owp.OutputString("\n Program name : " + thread.Program.Name);
owp.OutputString("\n Number of stack frames : " + thread.StackFrames.Count);
owp.OutputString("\n Suspended number of times : " + thread.SuspendCount);
}
}
Shared Sub ThreadProperties(ByRef dte As EnvDTE.DTE)
Dim str As String
Dim threads As EnvDTE.Threads = dte.Debugger.CurrentProgram.Threads
str = "Number of items in the Thread collection: " + _
threads.Item(1).Collection.Count.ToString()
For Each thread As EnvDTE.Thread In threads
str += vbCrLf + vbCrLf + " Thread: " + thread.ID.ToString()
str += vbCrLf + " Edition of the environment: " + thread.DTE.Edition
str += vbCrLf + " Is alive: " + thread.IsAlive.ToString()
str += vbCrLf + " Is frozen: " + thread.IsFrozen.ToString()
str += vbCrLf + " Location: " + thread.Location
str += vbCrLf + " Parent's current mode: " + _
thread.Parent.CurrentMode.ToString()
str += vbCrLf + " Priority: " + thread.Priority
str += vbCrLf + " Program name: " + thread.Program.Name
str += vbCrLf + " Number of stack frames: " + _
thread.StackFrames.Count.ToString()
str += vbCrLf + " Suspended number of times: " + _
thread.SuspendCount.ToString()
Next
MessageBox.Show(str, "Thread Test - Properties")
End Sub
.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.
Siehe auch
Referenz
Weitere Ressourcen
Gewusst wie: Kompilieren und Ausführen der Codebeispiele für das Automatisierungsobjektmodell