创建方法列表,然后选择一个.称之为:
List<Action> list = new List<Action>();
list.Add(this.Method1);
// Get random number
Random rnd = new Random();
int i = rnd.Next(0, list.Count);
// Call
list[i]();
Run Code Online (Sandbox Code Playgroud)
请注意,这仅在签名相同时才有效(在这种情况下没有参数).否则你可以像这样添加:
list.Add(() => this.Method1(1));
list.Add(() => this.Method2(1, 2));
Run Code Online (Sandbox Code Playgroud)
如果该方法返回一个值,你应该使用Func<T>,而不是Action,这里T是输出型.