当您声明一个XNamespace并分配一个字符串值时会发生什么

本文关键字:一个 什么 XNamespace 声明 分配 字符串 | 更新日期: 2023-09-27 18:06:21

下面是来自MSDN的XNamespace的示例:

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

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

当您声明一个XNamespace并分配一个字符串值时会发生什么

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

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

在您发布的版本中,您将利用针对string定义的隐式转换。大概,它的实现只是调用上述方法。可能的实现示例:

public static implicit operator XNamespace(string name)
{
    return Get(name);
}
相关文章: