8

我有两种这样的方法:

public void ExecuteA()
{
    Write();
    // A specific work
    Clear();
}

public void ExecuteB()
{
    Write();
    // B specific work
    Clear();
}

我想将Write()andClear()方法提取到一个新方法(Action)中,以得到类似这样的东西:

public ASpecificWork()
{
    // do A work
}

public BSpecificWork()
{
    // do B work
}

Execute(BSpecificWork);
Execute(ASpecificWork);

Write()和将一次性Clear()定义。Execute()这样做的正确语法是什么?

4

3 回答 3

21
public void Execute(Action action)
{
    Write();
    action();
    Clear();
}
于 2013-04-16T12:54:44.857 回答
3

这应该可以解决问题:

public ASpecificWork()
{
    // do A work
}

public BSpecificWork()
{
    // do B work
}

public void Execute(Action action)
{  
    Write();
    action();
    Clear();
}

Execute(BSpecificWork);
Execute(ASpecificWork);
于 2013-04-16T12:55:24.310 回答
3

Execute应该接受Action参数并且应该包含Write(), action(),Clear()方法。

public void Execute(Action action)
{
    Write();
    action();
    Clear();
}
于 2013-04-16T12:56:38.873 回答