2016-11-26 1 views
0

Скажем, у меня есть следующая структура классаКак иметь подклассы сериализации родительское значение по-разному, используя XmlSerializer

abstract class Vehicle 
{ 
    string maker; 
} 

class Car : Vehicle 
{ 
    bool automatic; 
} 

class Motorcycle : Vehicle 
{ 
    string style; 
} 

class Bicycle : Vehicle 
{ 
    // no extra attributes 
} 

и хотите сериализации/десериализации в эту форму:

<vehicles> 
    <car maker="BMW"> 
     <automatic>false</automatic> 
    </car> 
    <motorcycle> 
     <maker>Harley Davidson</maker> 
     <style>Cruiser</style> 
    </motorcycle> 
    <bicycle>Huffy</bicycle> 
</vehicles> 

Есть ли способ сказать Сериализатор XML, как maker следует сериализовать в каждом случае, или мне нужно переместить переменную maker в ее подклассы?

ответ

0

Только что понял. Я могу сделать создателя абстрактной строкой и реализовать ее с другой переменной поддержки для каждого, а затем пометить опорную переменную по мере необходимости.

Смежные вопросы