Это функция, принимающая 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);
Я не совсем уверен, если вам сначала нужно присвоить его переменной, вы, вероятно, могли бы просто сделать это:
... .Select(variableForFunction);
попробуйте (и дайте мне знать, если это работает :))
о, и для получения дополнительной информации, вот статья 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;
})
отредактировал его после комментария Павла