Proprietà Thread2.DTE
Ottiene l'oggetto estensibilità di primo livello.
Spazio dei nomi: EnvDTE90
Assembly: EnvDTE90 (in EnvDTE90.dll)
Sintassi
'Dichiarazione
ReadOnly Property DTE As DTE
Get
DTE DTE { get; }
property DTE^ DTE {
DTE^ get ();
}
abstract DTE : DTE
function get DTE () : DTE
Valore proprietà
Tipo: EnvDTE.DTE
Un oggetto DTE.
Implementa
Note
In Visual Studio l'oggetto DTE è l'oggetto radice del modello di automazione. In altri modelli a oggetti viene spesso chiamato "Applicazione".
Esempi
Nell'esempio riportato di seguito viene illustrato come utilizzare la proprietà Collection.
Per verificare la proprietà:
Impostare il punto di interruzione all'interno del metodo di callback dei thread di lavoro.
Eseguire l'applicazione di destinazione in modalità debug.
Quando l'applicazione si interrompe al punto di interruzione, eseguire il componente aggiuntivo.
public static void TestThreadProperties(DTE2 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(EnvDTE90.Thread2 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);
owp.OutputString("\n Flag on the thread : " + thread.Flag);
}
}
Shared Sub ThreadProperties(ByRef dte As EnvDTE80.DTE2)
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 EnvDTE90.Thread2 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()
str += vbCrLf + " Flag on the thread: " + _
thread.Flag.ToString()
Next
MessageBox.Show(str, "Thread Test - Properties")
End Sub
Sicurezza di .NET Framework
- Attendibilità totale per il chiamante immediato. Impossibile utilizzare questo membro in codice parzialmente attendibile. Per ulteriori informazioni, vedere Utilizzo di librerie da codice parzialmente attendibile.
Vedere anche
Riferimenti
Altre risorse
Working With Threads and Processes