長いスイッチステートメントはしばしば眉をひそめます。解決策は、ポリモーフィズムを使用することです。しかし、私がオンにしているものがタイプコードではない場合はどうなりますか?私がやりたいのは、switchステートメントを次のようなものに置き換えることです...
public void HandleString(string s = "Hello")
{
...
}
public void HandleString(string s = "Goodbye")
{
...
}
...
HandleString("Hello"); // results in the first method being called.
これは次のものを置き換えます...
string s = "Hello";
switch(s)
{
case "Hello":
...
break;
case "Goodbye":
...
break;
default;
break;
}
何か案は?理論的には、「if / switch」ステートメントを完全に廃止して、式の値に基づいて自動的にバインドされるメソッドを呼び出すことができると思います。