In diesem Beispielcode verwende ich eine einfache Stoppuhr, um die Zeit zu testen, die benötigt wird, um eine bestimmte Aufgabe / Aktion zu beenden
%Vor%Ich möchte eine Klasse haben, die ich instanziieren werde, um sie mit Tests zu verwenden
%Vor% Wenn ich jedoch die Klasse instanziiere und versuche, SW1
zu verwenden, kann ich ihre Methoden nicht verwenden. Was mache ich falsch?
Aktualisieren
Für den Rest der Antworten, kopieren Sie nicht den Code von mir, da ich vermisste stopwatch
vermisse. Anstatt die Stoppuhrklasse zu instantiieren, habe ich aus Versehen nicht darauf geachtet, dass Visual Studio fragt, ob ich eine Klasse für meine so genannte Stoppuhr anstelle von .NETs echtem Stopwatch
erstellen möchte.
Also mein Rat, achten Sie auf die vorgeschlagenen Aktionen von Visual Studio intellisense obwohl es die ganze Zeit gleich sein sollte. Stellen Sie nur sicher, bis Sie wirklich erfahren sind und alle Klassen auswendig können.
Hier ist eine einfache Klasse, die Ihnen helfen kann, die Zeit der Code-Block-Ausführung zu messen:
%Vor% Verwendung (Code-Block mit der Verwendung von PerformanceTester
umbrechen):
Wenn Sie die Tester-Variable vor using
block deklarieren, stoppt die Stoppuhr automatisch beim Beenden von using
block und die Ergebnisse stehen Ihnen zur Verfügung:
Wenn Sie die Rückrufaktion an PerformanceTester
übergeben, wird diese Aktion am Ende der using
-Anweisung aufgerufen, und die verstrichene Zeit wird an den Rückruf übergeben:
Sie können eine Methode deklarieren, die TimeSpan
akzeptiert und Ergebnisse verarbeitet:
Die Nutzung wird sehr sauber:
%Vor%