我有一个方法列表,它们几乎做同样的事情,除了一些差异:
void DoWork(string parameter1, string parameter2)
{
//Common code
...
//Custom code
...
//Common code
...
}
我想通过从另一个方法传递自定义代码来重用通用代码来简化解决方案。
我假设我必须使用带有参数的操作来完成此操作,但不知道如何实现。
你可以尝试模板方法模式 http://www.dofactory.com/Patterns/PatternTemplate.aspx
这基本上说明了这样的事情
abstract class Parent
{
public virtual void DoWork(...common arguments...)
{
// ...common flow
this.CustomWork();
// ...more common flow
}
// the Customwork method must be overridden
protected abstract void CustomWork();
}
在孩子的班级里
class Child : Parent
{
protected override void CustomWork()
{
// do you specialized work
}
}
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)