日期:2014-05-17 浏览次数:20475 次
public class PlanDo
{
private DateTime dt{set;get;}
public PlanDo(DateTime dt)
{
this.dt=dt;
}
public event timeChangeHander timeChangeEvent;
protected virtual void PlanTaskExecute()
{
if (timeChangeEvent != null)
{
timeChangeEvent(DateTime.Now);
}
public void DoTask()
{
PlanTaskExecute();
}
}
//=================================================
//定义一个执行任务的接口
public interface IBaseInter
{
void doTask(DateTime dt);
}
//定义一个某些相似的任务的抽象类
public abstract class absSomeType:IBaseInter
{
public virtual bool isSuitDate(DateTime dt)
{
return false;
}
public virtual void doTask(DateTime dt)
{
if(isSuitDate(dt))
{
Console.WriteLine(“基类执行”);
}
}
}
//接下来就是各个具体的执行类了。。。
//这个每月1号执行
public class ExecuteSomeType1 : absSomeType
{
public override bool isSuitDate(DateTime dt)
{
if (dt.Day== 1)
{
return true;
}
return false;
}
public override void doTask(DateTime dt)
{
base.doTask(dt);
Console.WriteLine(“子类1执行”);
}
}
//这个每周1执行
public class ExecuteSomeType2 : absSomeType
{
public override bool isSuitDate(DateTime dt)
{
if (dt.DayOfWeek == DayOfWeek.Monday)
{
return true;
&nb