首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >XElement构造

XElement构造
EN

Stack Overflow用户
提问于 2013-07-08 12:52:15
回答 2查看 345关注 0票数 1

我找到了一个使用XElement创建对象的示例:

代码语言:javascript
复制
XElement xml = new XElement("contacts",
                    new XElement("contact", 
                        new XAttribute("contactId", "2"),
                        new XElement("firstName", "Barry"),
                        new XElement("lastName", "Gottshall")
                    )
                );

但是,只能使用对象数组创建XElement构造。

XElement(XName,Object[])

在这段代码中我没有看到任何数组初始化器。它怎麽工作?

EN

回答 2

Stack Overflow用户

回答已采纳

发布于 2013-07-08 12:55:00

XElement构造函数的内容参数定义为params Object[]

代码语言:javascript
复制
public XElement(
    XName name,
    params Object[] content
)

这意味着您可以在这里传递任何参数的任何数字。这正是你所发现的例子中所发生的事情。

在这段代码中我没有看到任何数组初始化器。它怎麽工作?

数组将被创建为通过编译器。如果您将拆解您的例子,您将看到

代码语言:javascript
复制
XElement xml = new XElement("contacts",
                    new XElement("contact", new object[] {
                        new XAttribute("contactId", "2"),
                        new XElement("firstName", "Barry"),
                        new XElement("lastName", "Gottshall")
                    })
                );
票数 2
EN

Stack Overflow用户

发布于 2013-07-08 13:14:15

上面的答案解决了这个谜团,但我只想提到,params关键字是一个强大的工具,可以接收从同一类型到一个方法的任意数量的参数。它必须是方法签名的最后一个参数,例如,我们一直在string.format中使用它。节省大量时间,使用方便。

票数 0
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/17527141

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档