Condividi tramite


Proprietà Thread.Collection

Ottiene la raccolta contenente l'oggetto che supporta la proprietà o che è contenuto nel costrutto di codice.Null viene restituito per un oggetto che non viene ottenuto da una raccolta.

Spazio dei nomi:  EnvDTE
Assembly:  EnvDTE (in EnvDTE.dll)

Sintassi

'Dichiarazione
ReadOnly Property Collection As Threads
Threads Collection { get; }
property Threads^ Collection {
    Threads^ get ();
}
abstract Collection : Threads
function get Collection () : Threads

Valore proprietà

Tipo: EnvDTE.Threads
In Threads raccolta.

Esempi

Nell'esempio seguente viene illustrato come utilizzare Collection proprietà.

Per verificare questa proprietà

  1. Impostare il punto di interruzione nel metodo di callback del thread di lavoro.

  2. Eseguire l'applicazione di destinazione in modalità di debug.

  3. Quando l'applicazione si interrompe sul punto di interruzione, eseguire il componente aggiuntivo.

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

Sicurezza di .NET Framework

Vedere anche

Riferimenti

Thread Interfaccia

Spazio dei nomi EnvDTE

Altre risorse

Procedura: compilare ed eseguire gli esempi di codice del modello a oggetti di automazione