これを実現する 1 つの方法は、ある種のテーブル ルックアップです。
//assuming your functions receive string and return int
Dictionary<string, Func<string, int>> methods = {
{"Func1", Func1},
{"Func2", Func2},
{"Func3", Func3}
}
void call(String input){
if (methods.HasKey(input)){
int result = methods[input]("I'm a parameter");
}
}
もう 1 つの方法は、リフレクションを使用することです。
void call(String input){
var func = yourobject.GetType().GetMethod(input);
if (func!=null){
int result = func.Invoke(object, "I'm a parameter");
}
}
最初のアプローチはもう少し冗長ですが、どの関数がどの文字列にマップされるかを完全に制御できます。後者のアプローチはコードが少なくて済みますが、慎重に使用する必要があります。