Ist es möglich, Pause/return-Methode, die Ausführung aus einer anderen Methode?

Ich habe so etwas wie dieses:

void MethodToBreak()
{
    //do something

    if(something)
    {
        MethodThatBreaks();
        return;
    }

    //do something
}

void MethodThatBreaks()
{
    //do something
}

So, ich Frage mich: ist es möglich, zu brechen Ausführung von: MethodThatBreaks()? Dann hätte ich: if(something) MethodThatBreaks(); und wenn der Zustand im inneren if ist wahr, nichts nach dieser Zeile ausgeführt werden würde.

HINWEIS: ich weiß, es ist möglich, mit else in diesem Fall, aber ich möchte das nicht.

  • Meinst du statt der return Sie derzeit haben?
  • Ja, das ist genau das, was ich meine 🙂
  • Nein nicht wirklich dann, ich meine, Sie könnte eine exception werfen, oder wenn Sie hatte Rückgabetypen dann return MethodThatBreaks() auf einer Linie, aber weder von denen sind geeignete Lösungen, was Sie haben, ist der beste Weg IMO.
  • Warum nicht strukturieren Sie Ihre Methode, um dieses Verhalten?
  • MethodThatBreaks() ist eine Methode, die verwendet die callback-Kommunikation eine Warnung zurück zu den WCF-client. Eine Warnung würde bedeuten, dass die aufgerufene Methode konnte nicht ausgeführt (daher die Pause/return), aber zur gleichen Zeit, die aufgerufene Methode ist nicht kritisch, es zurück zu werfen eine exception an den client. Auch MethodToBreak() bleiben void (IsOneWay=true), denn auch wenn es nicht entscheidend ist, neigt es dazu führen für ein paar Minuten.
  • Sie verwenden sollten, sonst, es ist Teil der Sprache: verwenden Sie es.

InformationsquelleAutor avance70 | 2010-09-16
Schreibe einen Kommentar