Catrobat.IDE.Core.Utilities.Helpers.ReferenceHelper.GetElementIndex C# (CSharp) Method

GetElementIndex() static private method

static private GetElementIndex ( System.Xml.Linq.XElement element ) : int
element System.Xml.Linq.XElement
return int
        static int GetElementIndex(XElement element)
        {
            XNode parentNode = element.Parent;
            if (parentNode is XDocument)
            {
                return 1;
            }
            XElement parent = (XElement)parentNode;
            int index = 1;

            foreach (XElement candidate in parent.Elements())
            {
                if (candidate is XElement && candidate.Name == element.Name)
                {
                    if (candidate == element)
                    {
                        return index;
                    }
                    index++;
                }
            }
            throw new ArgumentException("Couldn't find element within parent");
        }
    }