我说的方法很少
方法2()
...
Method5()
现在,当我执行表单时,我想随机调用这些方法并打印输出。
我该怎么做?
答案 0 :(得分:6)
创建方法列表,然后选择一个。叫那一个:
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]();
请注意,这仅在签名相同时才有效(在这种情况下没有参数)。否则你可以像这样添加:
list.Add(() => this.Method1(1));
list.Add(() => this.Method2(1, 2));
如果方法返回一个值,则应使用Func<T>
而不是Action
,其中T
是输出类型。
答案 1 :(得分:2)
您可以尝试这样的事情:
Random rnd = new Random();
// I suppose that you have 5 methods. If you have a greater number of methods
// just change the 6.
var number = rnd.Next(1,6);
switch(number)
{
case 1:
// call Method1
case 2:
// call Method2
}