Вы можете использовать метод NodesBeforeSelf, чтобы сделать это:
XElement root = new XElement("root",
new XElement("one",
new XElement("oneA"),
new XElement("oneB")
),
new XElement("two"),
new XElement("three")
);
foreach (XElement x in root.Elements())
{
Console.WriteLine(x.Name);
Console.WriteLine(x.NodesBeforeSelf().Count());
}
Update: Если вы действительно хотите просто метод Позиция, просто добавьте метод расширения.
public static class ExMethods
{
public static int Position(this XNode node)
{
return node.NodesBeforeSelf().Count();
}
}
Теперь вы можете просто называть x.Position(). :)
Спасибо, x.NodesBeforeSelf(). Count() просто работает, отлично. Пожелание, которое они назвали Это позиция над классом XElement. – Vin 2008-10-02 20:47:54
Переверните мой предыдущий комментарий. Проверьте мой ответ ниже. – Vin 2008-10-07 15:40:34