Ich habe ein Problem, bei dem auf eine Sammlung von Objekten nicht korrekt zugegriffen wird, wenn sie auf einem Thread von einem Dienst ausgeführt werden. Ich kann meine Unit-Tests in VS2008 gut ausführen, aber wenn ich den Debugger an den Service anschließe, kann ich deutlich sehen, dass es nicht beim 1-basierten Index, sondern beim 0-basierten Index beginnt. Ich habe alles versucht, was ich denken kann, um das zu isolieren, und der einzige Unterschied ist, dass es in einem Dienst ist und nicht als Befehlszeilen-App zum Beispiel ausgeführt wird.Warum entscheidet meine Sammlung, bei 0 statt 1 zu beginnen?
Wenn ich die Funktion debuggen bekomme ich auch eine "Eigenschaft Auswertung fehlgeschlagen" Nachricht, die ich nicht, wenn ich es auf meinem Komponententest ausführen.
Bitte beraten.
[EDIT]
Ich weiß, dass Arrays normalerweise von 0 beginne ich immer das heute angenommen habe, aber ich fand diesen Fehler und habe auch festgestellt, obwohl ich dachte, dass es von 0 gestartet wird, zeigt der Debugger, dass Es beginnt bei 1. Wenn ich durch die Sammlung stimme, erhält es den richtigen Wert in VS, aber nicht im Dienst.
[EDIT]
Ich verwende Microsoft.VisualBasic.Collection weil ich einen Schlüssel dagegen setzen können. Ein Wörterbuch-Objekt könnte auch verwendet worden sein, aber es wurde jetzt auf diese Weise eingerichtet und das ist, wie meine BLL-Basis-Klassen und andere zahlreiche Funktionen es lesen, so dass es nicht vorzuziehen ist, es zu ändern.
[SOLUTION]
ich Refactoring meinen Code ein dicitonary und Generic.KeyValuePair mit (String, Object), so dass ich nicht den Code neu schreiben würde, der die Schlüssel zugreift. Sollte jetzt gut funktionieren, da es Collections nicht so behandelt wie das Collec- tons-Objekt.
Welche Art von Sammlung verwenden Sie? –
Microsoft.VisualBasic.Collection – Middletone