You could also have a dictionary (or Func instead of Action) or something like that (given that your functions have a similar signature). Then instead of using a switch, you could have something like:
public class MyClass
{
Dictionary<string, Action> myDictionary;
public MyClass()
{
BuildMyDictionary();
}
private Dictionary<int, Action<int, int>> BuildMyDictionary()
{
myDictionary.Add("x", DoSomethingX);
myDictionary.Add("y", DoSomethingY);
myDictionary.Add("z", DoSomethingZ);
myDictionary.Add("w", DoSomethingW);
}
public void DoStuff()
{
string whatever = "x";
myDictionary[t]();
}
}
.
, switch.