Linq-to-Xml 包含许多允许您将任意对象添加到 xml 树的方法。这些对象通过某种方式转换为字符串,但我似乎无法找到这种情况发生的规范。我所指的转换在 MSDN中提到(但未指定) 。
我碰巧需要这个来进行 javascript 互操作,但这对这个问题并不重要。
Linq to Xml 不仅仅是调用.ToString()
. 首先,它会接受null
元素,其次,它做的事情没有.ToString()
实现:
例如:
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"
其他基本数据类型也有类似的特殊处理。
那么,有人知道它在做什么以及在哪里描述的吗?