Zum Inhalt springen
  • Dunkel
  • Hell
  • System

return true / return false verstehen

Jede Execute C# Code-Sub-Action ruft deine Execute()-Methode auf, und die gibt einen bool zurück. Dieser Rückgabewert ist keine Formalität: Er steuert, ob die restliche Action-Kette nach deinem Code-Block weiterläuft oder ob die ganze Action an dieser Stelle aufhört.

Core C# Code Execute C# Code

Doku: docs.streamer.bot · Execute C# Code

Stell dir die Sub-Actions einer Action als eine Liste vor, die von oben nach unten abgearbeitet wird. Dein C#-Block ist eine Zeile in dieser Liste. Was du am Ende zurückgibst, bestimmt, was mit den nachfolgenden Sub-Actions passiert.

RückgabewertWas passiert
return trueAlle Sub-Actions, die nach dem C#-Block stehen, laufen normal weiter.
return falseDie Action stoppt sofort. Keine einzige nachfolgende Sub-Action wird ausgeführt.

return false wirkt also wie eine Notbremse für den Rest der Action. Wenn dein Code merkt, dass es nichts mehr zu tun gibt oder etwas schiefgelaufen ist, beendest du die Action sauber an Ort und Stelle.

Der häufigste Einsatz: Du prüfst zu Beginn ein Argument und brichst ab, wenn etwas fehlt. So nutzt du C# als Validierungs-Gate, das die nachfolgenden No-Code-Sub-Actions nur dann durchlässt, wenn die Daten stimmen.

Beispiel: Ein Command erwartet eine Eingabe hinter dem Befehl. Ist rawInput leer, postet der Code einen Hinweis und stoppt, bevor die Folge-Schritte ins Leere laufen.

public class CPHInline {
public bool Execute() {
// rawInput sicher lesen
if (!CPH.TryGetArg("rawInput", out string rawInput) || string.IsNullOrWhiteSpace(rawInput)) {
CPH.SendMessage("⚠️ Bitte gib einen Wert hinter dem Command an.");
return false; // Action stoppt: keine Folge-Sub-Action läuft
}
// Alles gut: Wert für die nächsten Sub-Actions bereitstellen
CPH.SetArgument("validInput", rawInput.Trim());
return true; // Action-Kette läuft weiter
}
}

Das Muster nennt man early return: Du verlässt die Methode beim erstbesten Problem, statt den Happy-Path tief zu verschachteln. Wer mehr zum sicheren Auslesen der Argumente wissen will, findet das unter Argumente lesen.

Wenn du aus der No-Code-Welt kommst, kennst du das Prinzip schon. Ein return false in C# macht exakt dasselbe wie ein Break in einer Sub-Action-Kette: Es unterbricht den Flow und beendet die Action vorzeitig.

Im If/Else Pattern setzt du Break im Then-Branch, damit nach einem Treffer kein weiterer Schritt mehr läuft. In C# ist return false dein Break, und return true entspricht dem Durchlaufenlassen. Der Vorteil von C#: Du fasst mehrere Prüfungen in einem Block zusammen, statt mehrere If/Else-Sub-Actions hintereinander zu klicken.

  • return vergessen: Execute() muss laut Signatur einen bool liefern. Fehlt das return, kompiliert der Code gar nicht erst, und die Sub-Action läuft nie. Im Zweifel am Ende immer return true schreiben.
  • Versehentliches return false: Ein return false, das eigentlich true sein sollte, legt alle nachfolgenden Sub-Actions still. Die laufen dann scheinbar grundlos nicht. Wenn nach deinem C#-Block nichts mehr passiert, prüf zuerst deinen Rückgabewert.
  • return mitten im Code: Ein return ist sofort wirksam und überspringt allen Code, der danach in der Methode steht. Das ist beim early return gewollt, kann aber zur Falle werden, wenn nach dem return noch wichtige Zeilen wie ein CPH.SetArgument stehen. Die werden dann nie erreicht.