是否可以在对象初始化表达式中使用lambda表达式?请看下面的代码:
XDocument doc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XElement("data",
new XElement("album",
new XElement("slide1"),
new XElement("slide2"),
new XElement("slide3")
)
)
);
而不是......
new XElement("slide1"),
new XElement("slide2"),
new XElement("slide3")
...我想使用一个返回XElement []
的lamda表达式答案 0 :(得分:1)
Func<XElement[]> elementCreatorFunc =
() => new[] { new XElement(...), new XElement(...) };
XDocument doc = new XDocument(
new XDeclaration("1.0", "utf-8", "yes"),
new XElement("data",
new XElement("album",
elementCreatorFunc()
)
)
);
答案 1 :(得分:0)
以下是最终解决方案。因此,我没有使用外部函数进行内联:
XDocument doc = new XDocument(new XDeclaration("1.0", "utf-8", "yes"),
new XElement("data",
new XElement("album",
(from item in Model.Items
select new XElement("slide",
new XAttribute("title", item.title)))
)
)
);