Предположим, у меня есть класс CarResource, класс RaceCarResource: public CarResource, и класс SuperDuperUltraRaceCarResource: public RaceCarResource.C#: ручное чтение конфигурации XML для производных классов
Я хочу иметь возможность загружать их данные одним методом LoadFromXML.
Как я могу получить CarResource: LoadFromXML для загрузки его данных, RaceCarResource для вызова CarResource: LoadFromXML, а затем загрузить его собственные дополнительные данные и т. Д.?
Если я использую XmlTextReader я только знаю, как разобрать весь файл на одном дыхании, не так, как использовать его так первый CarResource: LoadFromXML может делать свое дело, а затем RaceCarResource и т.д.
Я надеюсь, что в хотя бы немного понятно, что я имею в виду :)
Но как я могу действовать читать файл xml и позволить CarResource анализировать только свои собственные данные и позволить RaceCarResource самостоятельно анализировать свои собственные данные? – Pygmy
Почему бы просто не сделать метод базового класса виртуальным? Подклассы затем переопределили бы виртуальный вызов по мере необходимости и все еще смогут вызвать реализацию базовых классов. – NotMe
@ Крис - Зависит. Я обновил свой ответ, потому что вы правы, в этом случае имеет смысл создавать классы таким образом ... но проверьте эту ссылку: http://msdn.microsoft.com/en-us/library/6fawty39. aspx –