请教关于调度器的设计问题,如何指派要执行的方法?
关于调度器的设计,偶现在能想到的就是把不同需要的工作定义为相应的方法,然后根据 Working 的参数 type 来决定执行那一个方法,
public interface IWorkItem{ void Working(int type);}public class WorkItem : IWorkItem{ public void Working(type) { switch(type) { case 0: Method0(); break; case 1: Method1(); break; case 2: Method2(); break; } } public void Method0() { } public void Method1() { } public void Method2() { }}
var actions = new List<Action>();void AddAction(Action action){this.actions.Add(action);}...void Perform(){foreach(var action in actions){action();}}
[解决办法]
public delegate void deleMethod();
并将Method0-2定义在调度器类中,在将 WorkItem 添加到Queue<WorkItem>时,通过 new deleMethod(调度器类.Method0-2)指派。
方便又实用。