Właściwość Thread.Parent —
Zwraca obiekt nadrzędny natychmiastowe z Thread obiektu.
Przestrzeń nazw: EnvDTE
Zestaw: EnvDTE (w EnvDTE.dll)
Składnia
'Deklaracja
ReadOnly Property Parent As Debugger
Debugger Parent { get; }
property Debugger^ Parent {
Debugger^ get ();
}
abstract Parent : Debugger
function get Parent () : Debugger
Wartość właściwości
Typ: EnvDTE.Debugger
A Debugger object.
Uwagi
Parent Właściwość zwraca bezpośrednio nadrzędnego w stosunku do Thread obiektu.Aby uzyskać zawierające kolekcji, należy użyć Collection właściwości.
Przykłady
Poniższy przykład demonstruje, jak używać Parent właściwości.
Aby przetestować tę właściwość
Ustaw punkt przerwania wewnątrz pracownik metody wywołania zwrotnego wątku.
Uruchom aplikację docelową w trybie debugowania.
Gdy aplikacja przestanie działać na punkt przerwania, należy uruchomić dodatek.
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
Zabezpieczenia programu .NET Framework
- Pełne zaufanie do bezpośredniego wywołującego. Tego elementu członkowskiego nie można używać w kodzie częściowo zaufanym. Aby uzyskać więcej informacji, zobacz Przy użyciu bibliotek z częściowo zaufanego kodu..
Zobacz też
Informacje
Inne zasoby
Jak: skompilować i uruchomić przykłady kodu modelu obiektu automatyzacji