1

这是来自 MSDN 的 XNamespace 示例:

XNamespace aw = "http://www.adventure-works.com";
XElement root = new XElement(aw + "Root", "Content");
Console.WriteLine(root);

我不确定第一行发生了什么。是否正在进行某种隐式转换?

4

1 回答 1

2

XNamespace有一个Get接受字符串参数并返回XNamespace实例的静态方法。所以你可以将这一行重写为

XNamespace aw = XNamespace.Get("http://www.adventure-works.com");

在您发布的版本中,您将利用针对 string 定义的隐式转换。据推测,其实现只是简单地调用了上述方法。一个可能的实现示例:

public static implicit operator XNamespace(string name)
{
    return Get(name);
}
于 2011-08-22T02:54:18.883 回答