Linq 如何修复此Intellisense错误(XContainer::Element)

Linq 如何修复此Intellisense错误(XContainer::Element),linq,c++-cli,Linq,C++ Cli,下面的代码生成了一个错误,我不知道如何修复它: XElement^ root = XElement.Load("data.xml"); String^ location; location = root->Element("location")->Value; 这就是错误: IntelliSense:没有与参数列表匹配的函数“System::Xml::Linq::XElement::Element”的实例 参数类型为:(常量字符[10]) 对象类型为:System::Xml::Li

下面的代码生成了一个错误,我不知道如何修复它:

XElement^ root = XElement.Load("data.xml");
String^ location;
location = root->Element("location")->Value;
这就是错误:

IntelliSense:没有与参数列表匹配的函数“System::Xml::Linq::XElement::Element”的实例 参数类型为:(常量字符[10])

对象类型为:System::Xml::Linq::XElement^


如何修复它?

XElement
确实有一个,但它将
XName
作为其唯一参数,而不是字符数组。传递一个
XName
实例而不是
“location”
,错误应该会消失。

C++/CLI是否没有处理从
string
XName
的隐式转换呢?@JonSkeet:显然没有,但我很可能是错的。(你的意思是?如果参数的类型是
String^
,这应该可以用,但它是
char[]
)我几乎不懂C++/CLI,所以我的答案不应该被当作福音。谢谢,我将文字改为String^类型的变量,它就可以用了。这很奇怪,因为我在互联网上看到了几个C++/CLI示例,它们对元素的使用与我的类似。MSDN没有该方法的C++/CLI示例。