有没有办法在C#中传递方法CALL? (不是通用函数/委托类型)

时间:2016-04-19 18:52:54

标签: c# function methods

背景

我想用一些需要执行的方法构建一个工作队列。我想将以下6种方法添加到工作队列中,然后执行它们直到队列耗尽。

// method call #1
InputConfiguration("discrete input");

// method call #2
Thread.Sleep(100);

// method call #3
DisconnectFromGround("pin 8");

// method call #4
CheckForPause();

// method call #5
ConnectPins(7, 8);

// method call $6
DisconnectPin(9);

问题

我是否可以使用任何可以解释所有不同参数和方法调用的结构/类?

1 个答案:

答案 0 :(得分:2)

如果您不需要返回值,则Action符合条件。

List<Action> yourQueue = new List<Action>();
yourQueue.Add(() => InputConfiguration("discrete input"));
yourQueue.Add(() => Thread.Sleep(100));
// And so on.

也许不是创建&#34;队列&#34;工作,为什么不写一个新的方法?您将以这种方式获得最佳性能。