首页 新闻 会员 周边 捐助

关于Descendants的参数类型问题

0
悬赏园豆:10 [已解决问题] 解决于 2012-05-17 14:18

如上图,Descendants要求传的参数类型是XName类型,没有其他一个参数类型的重载,而我传的是string类型,为什么也可以?

谢谢!

西夏普砖家的主页 西夏普砖家 | 初学一级 | 园豆:183
提问于:2012-05-16 23:40
< >
分享
最佳答案
1

你问的这个问题是操作符重载的问题。

你可以通过Reflecter反编译XName里的代码会发现具体的实现,就是XName能自动识别字符串,比如:

XName xname = "mystring";

等同于:

XName xname = new XName("mystring")

收获园豆:10
无之无 | 大侠五级 |园豆:5095 | 2012-05-17 08:40

谢谢!

不过应该等同于XName xname =XName.Get("mystring");

西夏普砖家 | 园豆:183 (初学一级) | 2012-05-17 14:18
其他回答(2)
0

Descendants重载中参数Xname为一个类,这个类中返回的是一个string类型的值,XName表示 XML 元素或特性的名称。此类提供了从String进行的隐式转换,具体的信息,你可以参数vs2010中自带的帮助Xname类

黑土墨 | 园豆:202 (菜鸟二级) | 2012-05-17 00:42
0

Reflecter反编译XName,如上图!

西夏普砖家 | 园豆:183 (初学一级) | 2012-05-17 14:13
清除回答草稿
   您需要登录以后才能回答,未注册用户请先注册