Méthodoes WriteEndElement et WriteEndDocument
Soit le code suivant
Code:
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17
|
Class Program{
MemoryStream WriteName(Name name){
var ms = new MemoryStream();
var binary = XmlDictionaryWriter.CreateBinaryWriter(ms);
var ser = new DataContractSerializer(typeof(FullName));
ser.WriteObject(binary, name);
return ms;
}
} |
J'ai lu l'explication que pour nous assurer que l'objet FullName est serializé vers l'objet de type MemoryStream ms,
c'est la méthode WriteEndElement qui convient le plus
binary.WriteEndElement();
Je ne comprends pas la différence entre la méthode WriteEndElement() et la méthode WriteEndDocument()dont voici les définitions:
méthode WriteEndDocument :
En cas de substitution dans une classe dérivée(cette méthode est héritée de XMLWriter), ferme les éléments ou attributs ouverts, et replace le writer à l'état Start.
méthode WriteEndElement :
En cas de substitution dans une classe dérivée(cette méthode est héritée de XMLWriter), ferme un élément et exécute un pop sur la portée espace de noms correspondante
Pourquoi l'une plus que l'autre méthode convient mieux pour s'assurer que la totalité de l'objet FullName a été serializée vers l'objet ms de type MemoryStream
Par ailleurs, si j'écrivais binary.Flush(), cela ne me permettrait-il pas également de s'assurer que la totalité de l'objet FullName est serializée?
Merci beaucoup de vos réponses sur ce point.
Cordialement.
new_wave