Exemple #1
0
        // получить все элементы c заданным значением аттрибута
        public XHEInterfaces get_all_by_attribute(string attr_name, string attr_value, int exactly = 0, string frame = "-1")
        {
            // получим номера элементов для нового списка
            List <int> aNeedNums = new List <int>();

            for (int i = 0; i < elements.Count; i++)
            {
                if (compare_string(exactly == 1, ((XHEInterface)elements[i]).get_attribute(attr_name), attr_value))
                {
                    aNeedNums.Add(i);
                }
            }

            // создадим новый список
            XHEInterfaces new_interfaces = new XHEInterfaces("", m_Server, m_Password);

            // заполним его клонами элементов
            for (int i = 0; i < aNeedNums.Count; i++)
            {
                new_interfaces.elements.Add(elements[aNeedNums[i]].get_clone_());
                new_interfaces.inner_numbers = new_interfaces.inner_numbers + new_interfaces.elements[i].inner_number;
                if ((i + 1) != aNeedNums.Count)
                {
                    new_interfaces.inner_numbers = new_interfaces.inner_numbers + ";";
                }
            }
            return(new_interfaces);
        }
Exemple #2
0
        ////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////////

        // получить все интерфейсы по заданному условию
        public XHEInterfaces get_all_by_xxx(string xxx, string condition, int exactly)
        {
            Type       thisType  = typeof(XHEInterface);
            MethodInfo theMethod = thisType.GetMethod(xxx);

            // получим номера элементов для нового списка
            List <int> aNeedNums = new List <int>();

            for (int i = 0; i < elements.Count; i++)
            {
                if (compare_string(exactly == 1, theMethod.Invoke(elements[i], null).ToString(), condition))
                {
                    aNeedNums.Add(i);
                }
            }

            // создадим новый список
            XHEInterfaces new_interfaces = new XHEInterfaces("", m_Server, m_Password);

            // заполним его клонами элементов
            for (int i = 0; i < aNeedNums.Count; i++)
            {
                new_interfaces.elements.Add(elements[aNeedNums[i]].get_clone_());
                new_interfaces.inner_numbers = new_interfaces.inner_numbers + new_interfaces.elements[i].inner_number;
                if ((i + 1) != aNeedNums.Count)
                {
                    new_interfaces.inner_numbers = new_interfaces.inner_numbers + ";";
                }
            }
            return(new_interfaces);
        }