这是一些伪代码来说明我在看什么。
public class Loader
{
public Execute()
{
var currentPage = new ItemPageDocumentBuilder();
while(reader.Read())
{
currentPage.Add(reader.XmlDoc);
}
}
private class ItemsToLoad
{
private XmlDocument _page
public void Add(XmlElement itemelement)
{
_page.DocumentElement.AppendChild(itemElement);
}
}
}
我需要从Loader派生一个类,然后在里面重写ItemsToLoad类的Add方法,然后调用base.Execute()。换句话说,我希望派生类的 Execute() 方法与 Loader 的方法完全相同,但要使用 ItemsToLoad 的重写 Add 方法来工作。
我怀疑最巧妙的方法是从 Loader 内部删除 ItemsToLoad,并使其抽象,对吗?
如果我不能这样做,出于兴趣,最好的解决方案是什么?