2010-02-04 6 views
1

Je me demande simplement si quelqu'un sait comment XmlSerializer détermine l'ordre de désérialisation des propriétés d'un objet donné.Ordre de désérialisation de la propriété XmlSerializer

Infos complémentaires:

J'ai une classe comme ceci:

private bool _hasGaps = false; 
    public bool HasGaps 
    { 
     get { return _hasGaps; } 
     set 
     { 
      _hasGaps = value; 
     } 
    } 

    private List<GapInfo> _gaps; 
    public List<GapInfo> Gaps 
    { 
     get { return _gaps; } 
     set 
     { 
      _gaps = value; 
     } 
    } 

Je mis un point d'arrêt dans les deux lacunes setter et régleurs HasGaps, lacunes désérialisée premier obtient.

Plus d'info

Voici ce que le XML ressemble à:

<Tube Id="3df08765-c4e7-4a87-a0ed-ec76169b47af" Name="Tube"> 
    <HasGaps>false</HasGaps> 
    <Gaps /> 
</Tube> 
+0

À quoi ressemble votre XML? Pensez-y un moment. Comment la désérialisation fonctionnerait-elle s'il n'était pas possible de déterminer à quoi le XML doit ressembler? Aucune autre commande n'est possible. –

+0

Je suppose que c'était l'ordre dans lequel ils apparaissent dans le xml sérialisé utilisé comme entrée. – sylvanaar

+0

@sylvanaar: vous auriez tort. Il ne permet pas aux éléments XML d'être dans des ordres arbitraires. –

Répondre

2

Il leur désérialise dans l'ordre où ils apparaissent dans la classe.

Avez-vous eu des raisons de croire qu'il pourrait utiliser un ordre différent?

+0

Merci pour la suggestion , mais cela ne semble pas être le cas, voir les informations supplémentaires dans ma question. – Carlo

+0

Ajout de l'exemple XML – Carlo

+0

BTW, quelle est votre source pour dire qu'il les désérialise dans l'ordre où ils apparaissent? Peut-être qu'il y a quelque chose qui pourrait me donner un indice. – Carlo

Questions connexes