2011-01-15 9 views
0

Ich verwende derzeit speziell das Google Kontakte-API, aber dies könnte auch für andere Scinarios gelten.C#/Visual Studio - Das Objekt ist null, es sei denn, ich habe einen Haltepunkt

Ich habe den folgenden Code:

Contact newContact = new Contact(); 

Wenn ich den Code laufen ohne Haltepunkte lassen, erhalte ich eine Nullreferenceexception auf alle Eigenschaften dieses Objekts. Wenn ich jedoch direkt nach dieser Zeile einen Haltepunkt anlege, kann ich sehen, dass alle Eigenschaften initialisiert wurden und der Rest meines Codes ordnungsgemäß ausgeführt wird.

Jeder würde die Idee sehr geschätzt

+0

Schrittweise durch den Code und sehen, was der Konstruktor der 'Contact' Klasse tut. Wie Raf in seiner Antwort vorschlägt, könnte es eine Art von asynchronem I/O machen (sollte es nicht, aber wann hat das jemanden gestoppt). –

Antwort

1

Vielleicht dauert es eine Weile Contact Objekt (das heißt Daten-Download aus dem Internet) zu initialisieren. Wenn es asynchron ausgeführt wird, geben Sie dem Programm beim Erstellen eines Haltepunkts eine Zeit, um es auszuführen.

+0

Ich habe versucht, Thread.Sleep (10000) sofort nach der Initialisierung des Objekts zu setzen. Ich habe auch versucht, Thread.Sleep (1) zu durchlaufen, während die letzte der Objekteigenschaften Null ist, ohne Wirkung. Sobald ich jedoch in den Code einbringe, wird das Objekt vollständig initialisiert. – JasonS

+0

hmm, vielleicht, wenn Sie einen Haltepunkt setzen, beobachten Sie auch dieses Objekt und rufen irgendwie eine der Methoden auf, die es initialisieren - natürlich rate ich. Hoffnung hilft dir irgendwie –

Verwandte Themen