Форум программистов
 

Восстановите пароль или Зарегистрируйтесь на форуме, о проблемах и с заказом рекламы пишите сюда - alarforum@yandex.ru, проверяйте папку спам!

Вернуться   Форум программистов > .NET Frameworks (точка нет фреймворки) > Общие вопросы .NET
Регистрация

Восстановить пароль
Повторная активизация e-mail

Купить рекламу на форуме - 42 тыс руб за месяц

Ответ
 
Опции темы Поиск в этой теме
Старый 14.11.2010, 11:55   #1
KobolD
Форумчанин
 
Регистрация: 10.06.2010
Сообщений: 239
По умолчанию Получить свойство верхнего

У меня в программе есть класс группы который содержит переменную наименование и лист <класс пользователей>. Я формирую группы и пользователей в этих группах, тут проблем нет. Но у меня в программе есть процедура в которую я передаю пользователя и мне надо определить в какой он находится группе т.е. получить свойство родительского класса. Как это сделать?

Вот упрощенный код.

Код:
        public class Group
        {
            public string Naimenovanie;
            public List<Member> User = new List<Member>();

            public Group(string Naim)
            {
                Naimenovanie = Naim;
            }
        }
        public class Member
        {
            public string Name;
            public int age;
            public Member(string name)
            {
                Name = name;
            }
        }
        public List<Group> AllGroups = new List<Group> ();
        void main()
        {
            AllGroups.Add(new Group("ВРТ"));
                AllGroups[0].User.Add(new Member("Вася"));
                AllGroups[0].User.Add(new Member("Коля"));
                AllGroups[0].User.Add(new Member("Степа"));
            AllGroups.Add(new Group("ЭМИ"));
                AllGroups[1].User.Add(new Member("Петя"));
                AllGroups[1].User.Add(new Member("Маша"));


                TakeGroup(AllGroups[1].User[0]);
        }

        public void TakeGroup(Member Man)
        {
           string GroupName = ""; //Вот здесь надо как то вывести группу в которой сидит Петя
        }
Пока в голову пришло вот такое решение но оно мне ненравится.
Код:
public void TakeGroup(Member Man)
                for (int i =0;i<AllGroup.Count;i++)
                    foreach (Member Mem in AllGroup[i].User)
                        if (Mem.Name == Man.Name)
                               string GroupName = AllGroup[i].Naimenovanie
Двух одинаковых имен в разных группах быть не может.
Чтобы слова не расходились с делом, нужно молчать и ничего не делать.
KobolD вне форума Ответить с цитированием
Ответ


Купить рекламу на форуме - 42 тыс руб за месяц



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
Невозможно получить свойство PivotItems класса PivotField SilverSmallFish Microsoft Office Excel 2 16.10.2012 13:11
Заполнить квадратную матрицу В(10,10) единицами в шахматном порядке, начиная с верхнего левого угла x93 Помощь студентам 15 08.10.2012 10:46
Создание верхнего меню Claster Win Api 3 26.04.2010 23:04
Получить свойство Мой Компьютер Rebel123 Общие вопросы Delphi 5 06.02.2010 19:20
Заполнить матрицу ЛП, от левого верхнего угла по диагонали: вправо - вверх. O.G.O Общие вопросы C/C++ 4 11.06.2009 01:10