Hallo,
mir ist Folgendes aufgefallen, als ich mir eine Timer-Klasse schrieb, mit der ich die Laufzeit einiger Testmethoden bestimmen will.
Ich rufe zwischen zwei Testmethoden immer eine StoreTime()-Methode der Timer-Klasse auf. Im Timer-Objekt läuft eine Stopwatch und bei jedem StoreTime soll ElapsedMilliseconds in einer Long-Liste hinzugefügt werden.
Später kann ich dann aus den Zeitdifferenzen der Listeneinträge die Zeitdauer für das Abarbeiten einer Methode ausrechnen.
Wenn ich einen Haltepunkt in StoreTime setze und Debugge passiert es:
Bei jedem Step verändern sich die Einträge der Liste auf scheinbar willkürliche Werte, als wäre Long ein Referenztyp, der noch auf ElapsedMilliSeconds verweist.
Beispiel:
Test1() dauert 100ms
timer.StoreTime() 'timeList(0) == 100
Test2() dauert 200ms
timer.StoreTime() '!!!!!! Jetzt ist timeList(0) == -45898
. ' timeList(1) == 300
Woran liegt das bitte. Werden generische Typen in VB ähnlich wie in Java in irgendwie geboxt? Was muss ich anders machen?
Ich hoffe mal ich konnte mein Problem klar schildern, vielen Dank für eure Hilfe.
Grüße Streamfighter
mir ist Folgendes aufgefallen, als ich mir eine Timer-Klasse schrieb, mit der ich die Laufzeit einiger Testmethoden bestimmen will.
Ich rufe zwischen zwei Testmethoden immer eine StoreTime()-Methode der Timer-Klasse auf. Im Timer-Objekt läuft eine Stopwatch und bei jedem StoreTime soll ElapsedMilliseconds in einer Long-Liste hinzugefügt werden.
Später kann ich dann aus den Zeitdifferenzen der Listeneinträge die Zeitdauer für das Abarbeiten einer Methode ausrechnen.
Wenn ich einen Haltepunkt in StoreTime setze und Debugge passiert es:
Bei jedem Step verändern sich die Einträge der Liste auf scheinbar willkürliche Werte, als wäre Long ein Referenztyp, der noch auf ElapsedMilliSeconds verweist.
Beispiel:
Test1() dauert 100ms
timer.StoreTime() 'timeList(0) == 100
Test2() dauert 200ms
timer.StoreTime() '!!!!!! Jetzt ist timeList(0) == -45898
. ' timeList(1) == 300
Woran liegt das bitte. Werden generische Typen in VB ähnlich wie in Java in irgendwie geboxt? Was muss ich anders machen?
Ich hoffe mal ich konnte mein Problem klar schildern, vielen Dank für eure Hilfe.
Grüße Streamfighter