Форум программистов, компьютерный форум, киберфорум
Наши страницы
C# для начинающих
Войти
Регистрация
Восстановить пароль
 
EvilKot
2 / 2 / 2
Регистрация: 24.10.2013
Сообщений: 13
#1

С помощью метода получить все экземпляры класса-потомка

31.10.2013, 07:46. Просмотров 488. Ответов 4
Метки нет (Все метки)

Прошу прощения за кривизну вопроса, не знаю как спросить у гугла

C#
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
class MyClass
    {
 
        static List<MyClass> myList = new List<MyClass>();
 
        public MyClass()
        {
            myList.Add(this);
        }
 
        static public MyClass FindObjectsOfType(Type t)
        {
            return myList.OfType<t>(); // ошибка
        
        }
 
 
    }
Каждый новый экземпляр записывается в коллекцию при инициализации.
Допустим этот класс наследуется другими, и я хочу с помощью метода FindObjectsOfType()
получить все экземпляры указанного класса-потомка.
Как это сделать, простым/сложным способом?
Заранее спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
31.10.2013, 07:46
Ответы с готовыми решениями:

Экземпляры класса, вызов переопределенного метода
как лучше вызвать переопределенный метод? Console.WriteLine(m1.ToString());...

Вернуть все экземпляры класса
Можно ли в C# как-то вернуть все экземпляры класса? Например, чтобы проводить...

Передача управления из конструктора класса-родителя в конструктор класса-потомка
Здравствуйте. Возможно ли передать управление из конструктора класса-родителя...

Полиморфизм: вызов метода базового класса, переопределенного метода и нового метода
В базовом классе метод помечен как virtual. Насколько я понял из книги: ...

экземпляры класса
По лабе надо написать консольное приложение, что то вроде базы данных...

4
turbanoff
Эксперт Java
4016 / 3751 / 741
Регистрация: 18.05.2010
Сообщений: 9,329
Записей в блоге: 11
Завершенные тесты: 1
31.10.2013, 08:32 #2
C#
1
2
3
4
5
        static public List<MyClass> FindObjectsOfType(Type t)
        {
            return myList.Where(p => p.GetType() == t).ToList();
        
        }
1
EvilKot
2 / 2 / 2
Регистрация: 24.10.2013
Сообщений: 13
31.10.2013, 08:46  [ТС] #3
Здорово, спасибо!

..я ещё и в типе возр значения накосячил
0
nio
5953 / 3359 / 335
Регистрация: 14.06.2009
Сообщений: 8,136
Записей в блоге: 2
31.10.2013, 10:47 #4
Цитата Сообщение от turbanoff Посмотреть сообщение
C#
1
2
3
4
static public List<MyClass> FindObjectsOfType(Type t)
{
   return myList.Where(p => p.GetType() == t).ToList();
}
только в этом случае получается, что обязательно условие t = MyClass
0
kolorotur
Эксперт .NET
10201 / 8560 / 2111
Регистрация: 17.09.2011
Сообщений: 14,698
Завершенные тесты: 1
31.10.2013, 11:07 #5
Цитата Сообщение от turbanoff Посмотреть сообщение
C#
1
return myList.Where(p => p.GetType() == t).ToList();
Как вариант:
C#
1
return myList.OfType(t).ToList();
Хотя не, не вариант — он же по-другому работает
0
31.10.2013, 11:07
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
31.10.2013, 11:07

Как получить имена членов класса с помощью рефлексии
Как получить имена членов класса с помощью рефлексии?

Как получить значения статического поля класса с помощью рефлексии?
Есть библиотека классов в ней некоторый класс А. у этого класса есть...

Указатель на экземпляры класса
Доброе время суток господа профи. У меня вопрос допустим что есть класс A и в...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2018, vBulletin Solutions, Inc.
Рейтинг@Mail.ru