Это функция принимает XElement в качестве аргумента и возвращающая XElement, так, например:
public XElement someFunction(XElement argument)
{
XElement someNewElement = new XElement();
... // do something with someNewElement, taking into account argument
return someNewElement;
}
Func<XElement, XElement> variableForFunction = someFunction;
.... .Select(variableForFunction);
Я не interely уверен, что если вы должны присвоить его переменной первым, вы могли бы, вероятно, просто сделать это :
... .Select(variableForFunction);
дать ему попробовать (и дайте мне знать, если это работает :))
ой и для получения дополнительной информации, вот article MSDN, это также объясняет, как нам е делегатов:
Func<XElement, XElement> variableForFunction = delegate(XElement argument)
{
....//create a new XElement
return newXElement;
}
и как использовать лямбды, например:
Func<XElement, XElement> variableForFunction = s => {
....;//create an XElement to return
return newXElement;
}
или, в данном случае, использовать лямбда непосредственно:
.... .Select(s => {
....;//create an XElement to return
return newXElement;
})
редактировали следующий комментарий Павла
В общем, 'selector' для' Select() 'должен возвращать новый элемент, а не мутировать переданный ему элемент и возвращать что. Также стоит упомянуть лямбды, поскольку они чаще всего используются в этом контексте, а не как именованные функции. –
+1 Это то, что я пытаюсь сделать. У меня есть силы. Выберите (someFunc), который из вашего объяснения принимает функцию делегата. Меня привлекло то, что я пытаюсь выбрать XElement из объекта, где атрибут соответствует определенному значению. Эти XElements имеют схожие имена, но разные идентификаторы. –
Tebo
И я знаю, что ваш ответ - это решение моего вопроса, но не мог бы вы мне помочь в этом комментарии. – Tebo