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