Linq-to-Xml contient beaucoup de méthodes qui vous permettent d'ajouter des objets arbitraires à un arbre xml. Ces objets sont convertis en chaînes par certains moyens, mais je n'arrive pas à trouver la spécification de la façon dont cela se produit. La conversion dont je parle est mentionnée (mais non spécifiée) in MSDN. J'ai besoin de cela pour javascript interop, mais cela n'a pas beaucoup d'importance à la question. Linq to Xml ne fait pas qu'appeler .ToString()
Comment Linq-to-Xml convertit-il les objets en chaînes?
Tout d'abord, il va accepter null
éléments, et d'autre part, il fait des choses pas mise en œuvre .ToString()
fait:
Par exemple:
new XElement("elem",true).ToString() == "<elem>true</elem>"
//but...
true.ToString() == "True" //IIRC, this is culture invariant, but in any case...
true.ToString(CultureInfo.InvariantCulture) == "True"
D'autres types de données de base sont également traités spécialement. Donc, est-ce que quelqu'un sait ce qu'il fait et où cela est décrit?