Lange Schaltererklärungen sind oft verpönt. Die Lösung ist die Verwendung von Polymorphismus. Was aber, wenn das, was ich umschalten will, kein Typcode ist? Ich würde die switch-Anweisung gerne durch etwas wie dieses ersetzen...
public void HandleString(string s = "Hello")
{
...
}
public void HandleString(string s = "Goodbye")
{
...
}
...
HandleString("Hello"); // results in the first method being called.
Dies würde folgendes ersetzen...
string s = "Hello";
switch(s)
{
case "Hello":
...
break;
case "Goodbye":
...
break;
default;
break;
}
Irgendwelche Ideen? Theoretisch könnte man die "if/switch"-Anweisungen ganz weglassen und nur Methoden aufrufen, die automatisch an den Wert eines Ausdrucks gebunden sind.