将子类方法的代码插入基类方法的中间

时间:2019-06-11 16:07:35

标签: c#

我在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
    }
}

0 个答案:

没有答案