3 Stimmen

Dynamischer Methodenversand basierend auf dem Wert einer Variablen

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.

CodeJaeger.com

CodeJaeger ist eine Gemeinschaft für Programmierer, die täglich Hilfe erhalten..
Wir haben viele Inhalte, und Sie können auch Ihre eigenen Fragen stellen oder die Fragen anderer Leute lösen.

Powered by:

X