Es ist nicht erforderlich, die Abgeschlossenen Ereignisse zu verschachteln, es sei denn, jemand ruft tatsächlich B oder C an, bevor A abgeschlossen ist. Wenn Sie es trennen, sieht es so aus:
%Vor%
Ich denke, dass das Entfernen der Verschachtelung es viel sauberer macht.
Schauen Sie sich ReactiveUI an. Es basiert auf Rx und wird Ihren Code sehr vereinfachen. Hier ein Beispiel: Aufruf von Web Services in Silverlight mit ReactiveXaml
___ qstnhdr ___ Wie führe ich asynchrone Operationen sequentiell aus?
___ antwort5004722 ___
Es ist nicht viel Reiniger, aber Sie könnten sich %code% ansehen.
%Vor%
Du machst den Code nicht wirklich zu sehr herunter, aber ich würde sagen, er ist viel sauberer.
___ tag123c ___ C # (sprich "Cis") ist eine objektorientierte Programmiersprache auf hohem Niveau, die für die Erstellung einer Vielzahl von Anwendungen entwickelt wurde, die auf dem .NET Framework (oder .NET Core) ausgeführt werden. C # ist einfach, leistungsfähig, typsicher und objektorientiert.
___ tag123silverlight ___ Silverlight ist Cross-Browser plattformübergreifendes Plug-In von Microsoft für Medienerlebnisse und umfangreiche interaktive Anwendungen.
___ qstntxt ___
Jetzt verwende ich etwas ähnliches zu dieser Konstruktion
%Vor%
Und nicht sehr glücklich damit. Gibt es einen besseren, saubereren Weg, um diese Art der sequenziellen Ausführung auszuführen?
Ich sehe mir das Rx-Framework an, aber es ist für andere Aufgaben gedacht und sieht für mein Problem wie ein Overkill aus.
Warten Sie auf C # 5.0 und verwenden Sie die neuen Schlüsselwörter %code% und %code% .
Hier sind ein paar vorläufige Links dazu:
Sie können sich TPL ansehen. Sie können Code wie in diesem Thread schreiben: link