日期:2014-05-18 浏览次数:20739 次
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)指派。
方便又实用。