2012-01-15 12 views
6

per esempio qualcosa come:Come fare un deserialize classe come un nome diverso

<apple /> 

serializzare bene ad una classe chiamata "mela". tuttavia, se voglio chiamare quella classe "Dragon", non verrà serializzata (il che ha senso). Voglio sapere come contrassegnare "Dragon" in modo tale che quando XmlSerializer lo vede, sa che "Dragon" è lo stesso di

risposta

8

Supponendo Dragon definisce almeno un superset delle proprietà e dei campi che apple fa allora la risposta di competent_tech è appropriato anche se penso che la tua domanda è in realtà chiedendo notizie:

[System.Xml.Serialization.XmlType("apple")] 
public class Dragon 

Se Dragon non è compatibile con apple quindi potrebbe essere meglio eseguire una conversione esplicita tra i tipi. Supponendo che la tua applicazione conosca la definizione di entrambi apple e Dragon, ciò può essere effettuato deserializzando il tuo flusso apple in un oggetto apple, associando le proprietà a un nuovo oggetto Dragon e serializzando l'oggetto Dragon.

+2

Upvotes per tutti! – Jeremy

Problemi correlati