我在C#中有一个Event
类,可以扩展到不同类型的子事件。
我正在尝试寻找一种有效的方法来扩展父Event
Execute方法,以使子Event的Execute中的代码出现在中间,以便每个子Execute都可以对“免费”。
我已经看过base
选项,但是似乎可以执行整个方法。有没有一种方法不必在每个子类中添加base.PreExecute()和base.PostExecute()?
示例
public class Event
{
public void Execute()
{
Logger.Trace(string.Format("Starting {0}", this));
// want the child Execute to occur here
Logger.Trace(string.Format("Ending {0}", this));
}
}
public class CarEvent : Event
{
public void Execute()
{
base.Execute();
// child specific logic
}
}