Ich habe ein No-Name-Objekt in einem "mit Block" erstellt.Wie kann ich ein Objekt sehen, das in einem "mit Block" erstellt wurde?
Meine Frage ist: Wie kann ich das Objekt untersuchen, wenn der Debugger im Unterbrechungsmodus ist?
Ich habe ein No-Name-Objekt in einem "mit Block" erstellt.Wie kann ich ein Objekt sehen, das in einem "mit Block" erstellt wurde?
Meine Frage ist: Wie kann ich das Objekt untersuchen, wenn der Debugger im Unterbrechungsmodus ist?
Wenn ich einen Haltepunkt auf einer Zeile innerhalb eines Blockes With
gesetzt, kehrte das Objekt aus der Funktion in dem Lokalfenster auftaucht. Dies verwendet VS2015. Wenn ich mit der rechten Maustaste auf den Funktionsnamen in der Zeile With
klicke und "Watch hinzufügen" wähle, wird das Objekt im Watch-Fenster angezeigt.
Mein Code:
Module Module1
Sub Main()
With FunctionThatCreatesAnA()
Console.WriteLine("{0}, {1}", .SomeString, .SomeInteger)
End With
Console.ReadLine()
End Sub
Function FunctionThatCreatesAnA() As ClassA
Return New ClassA With {.SomeString = "Blah Blah", .SomeInteger = 42}
End Function
End Module
Public Class ClassA
Public Property SomeString() As String
Public Property SomeInteger() As Integer
End Class
Lokalfenster:
Watch-Fenster:
Danke @Chris, es funktioniert super mit dem Locals-Fenster. Aber vorsichtig mit der zweiten Methode: Wenn Sie mit der rechten Maustaste auf den Funktionsnamen klicken, sehen Sie ein anderes Objekt als das im "mit Block" erstellte Objekt. – Georg
Ich denke, dies nicht möglich ist, aber Sie können eine zusätzliche Zeile verwenden:
Dim someObj As Object = Factory.CreateSomeObject()
With someObj
.SomeProp = someValue
End With
Mit dieser Lösung, die Sie in der ersten Zeile überprüfen können.
Some additional information on StackOverflow (similar question).
Interessante Frage und eine, die für mich vermutlich nie gekommen ist, wie Ich habe nie darüber nachgedacht. Dies scheint nicht möglich zu sein. Wenn dies der Fall ist, besteht die Problemumgehung darin, das Ergebnis des Ausdrucks einer lokalen Variablen zuzuweisen und diese Variable dann in der Anweisung 'With' zu verwenden. – jmcilhinney
Wenn Sie etwas sehen möchten, erstellen Sie es nicht anonym. Ich mag die 'With'-Aussage sowieso nicht. Ich habe es nie verstanden. Die Nachteile überwiegen deutlich die Vorteile (falls vorhanden). –
Ich denke, das ist kein Problem des Codes, sondern des Debuggers :) – Georg