这里有一些伪代码来说明我在看什么。继承和类内的类
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);
}
}
}
我需要获得从装载机一类,然后重写它里面的ItemsToLoad类的Add方法,然后调用base.Execute()。换句话说,我希望派生类的Execute()方法与Loader完全相同,但要使用重载的ItemsToLoad的Add方法来工作。
我怀疑这样做最好的方法是从Loader中删除ItemsToLoad,并使其为抽象的,正确的?
如果我做不到这一点,出于兴趣,最好的解决方案是什么?
您还可以在Loader中注入ItemLoader组件,而不是使用私有内部类。 –