private void AddRecursive(ILElement parent) { for (int i = 0; i < parent.getSubElementCount(); i++) { ILElement element = parent.getElement(i); if (element.GetType().Equals(m_elementType) || element.GetType().IsSubclassOf(m_elementType)) { elementList.Add(element); } if (element.getSubElementCount() > 0) { AddRecursive(element); } } }
private void Init(ILElement parent, Type elementType, int index, bool recursive) { m_recursive = recursive; m_elementType = elementType; m_index = index; elementList = new ArrayList(); if (!recursive) { for (int i = 0; i < parent.getSubElementCount(); i++) { ILElement element = parent.getElement(i); if (element.GetType().Equals(m_elementType) || element.GetType().IsSubclassOf(m_elementType)) { elementList.Add(element); } } } else { AddRecursive(parent); } }