Форум программистов, компьютерный форум, киберфорум
C# для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.71/34: Рейтинг темы: голосов - 34, средняя оценка - 4.71
0 / 0 / 0
Регистрация: 23.09.2010
Сообщений: 14

Указатель на экземпляры класса

26.09.2010, 18:46. Показов 6951. Ответов 8
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Доброе время суток господа профи. У меня вопрос допустим что есть класс A и в программе есть несколько его экземпляров таких классов, так вот, есть ли способ как нибудь получить указатели на эти экземпляры класса А. Примерно хочу вот что, перечислить все экземпляры классов(или объектов везде разные терминологии) в программе и проверить их на соответсвия типов.
0
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
26.09.2010, 18:46
Ответы с готовыми решениями:

Экземпляры класса!
Привет! Предположим у меня есть не статический класс, содержащий 1 метод, который выполняет GET запрос к определенному урлу. public class...

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

Экземпляры класса в Unity
Здравствуйте, есть такой код using System.Collections; using System.Collections.Generic; using UnityEngine; using...

8
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
26.09.2010, 18:51
А массив классов не пойдет? И на соответствие с чем вы их хотите проверять.
1
0 / 0 / 0
Регистрация: 23.09.2010
Сообщений: 14
26.09.2010, 19:01  [ТС]
Дело в том что я дописываю другую программу, вернее вношу изменения в ней и нужно во все поля экземпляров таких классов внести изменеия, поля добавил в класс но получать на них массив указателей это равносильно перелистать весь код, а код большой и вероятность что то напортачить велика . Поэтому и подумал можно ли перечислить все экземпляры этого класса и получить на них указатели. Это было бы очень просто с точки зрения изменения кода чужой программы.

Добавлено через 2 минуты
Цитата Сообщение от SSTREGG Посмотреть сообщение
И на соответствие с чем вы их хотите проверять.
на соответствия типа конкретного класса конечно
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
26.09.2010, 19:08
Нет, получить указатели на все сразу нельзя, каждый экземпляр расположен в разном участке памяти. Может сделать этот метод статическим, но тогда в нём будет постоянно одна инфа )
0
0 / 0 / 0
Регистрация: 23.09.2010
Сообщений: 14
26.09.2010, 19:24  [ТС]
Но ведь можно же как то перечислять например все элементы управления, вот так вот
C#
1
2
            for (int i = 0; i < this.Controls.Count; i++)
                MessageBox.Show(this.Controls[i].Name);
Поэтому и подозреваю что должен быть какой то способ все экземпляры созданных классов тоже перечислить и получить на них указатели и привести к типу
0
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
26.09.2010, 19:30
Вы путаете значение указателей и ссылок. В данном случае в WinForms каждая форма имеет коллекцию, в которой хранятся ссылки на контролы. Controls является коллекцией.
0
 Аватар для Konctantin
970 / 773 / 171
Регистрация: 12.04.2009
Сообщений: 1,700
26.09.2010, 19:40
А почему бы не перестроить архитектуру приложения таким образом, чтобы хранить ссылки на классы.
Образно говоря, у вас плагинная структура (это к примеру) и при запуске каждая длл (класс или набор классов) регистрируются, и инициализируються, при инициализации, их ссылки складываются в какую нибудь IList<T> коллекцию. Далее при роботе с вашим приложением, вы обращаетесь к данному списку и работаете с экземплярами классов.
Вот тут вам очень помогут как раз интерфейсы.
2
Почетный модератор
Эксперт .NET
 Аватар для NickoTin
8729 / 3681 / 404
Регистрация: 14.06.2010
Сообщений: 4,513
Записей в блоге: 9
26.09.2010, 19:44
Konctantin, причина описана в посте #3.
1
0 / 0 / 0
Регистрация: 23.09.2010
Сообщений: 14
26.09.2010, 20:13  [ТС]
Konctantin, Я точно так же сделал, мне тоже такая же идея пришла в голову , я изменил конструктор класса и записываю все this в статическую переменную коллекции объявленную в Program работает как в аптеке .

Добавлено через 26 секунд
SSTREGG, И вам спасибо.
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
26.09.2010, 20:13
Помогаю со студенческими работами здесь

Перебрать в цикле экземпляры класса
Имеется класс &quot;shar&quot;. Имеется список List &lt;shar&gt; ballList с экземплярами этого класса. Необходимо перебрать в цикле эти экземпляры. Раньше...

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

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

Создать спиcок указателей на экземпляры класса Node
Хочу создать спиcок указателей на экземпляры класса Node using System; using System.Collections.Generic; using System.ComponentModel;...

Как создать экземпляры класса используя массив?
Нужно создать объекты класса с помощью массива. И еще вопрос, как сделать сравнение введенного пользователем ответа, если мы выводим...


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

Или воспользуйтесь поиском по форуму:
9
Ответ Создать тему
Новые блоги и статьи
Автозаполнение реквизита при выборе элемента справочника
Maks 27.03.2026
Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. При выборе "Спецтехники" (Тип Справочник. Спецтехника), заполняется. . .
Сумматор с применением элементов трёх состояний.
Hrethgir 26.03.2026
Тут. https:/ / fips. ru/ EGD/ ab3c85c8-836d-4866-871b-c2f0c5d77fbc Первый документ красиво выглядит, но без схемы. Это конечно не даёт никаких плюсов автору, но тем не менее. . . всё может быть. . .
Автозаполнение реквизитов при создании документа
Maks 26.03.2026
Программный код из решения ниже размещается в модуле объекта документа, в процедуре "ПриСозданииНаСервере". Алгоритм проверки заполнения реализован для исключения перезаписи значения реквизита,. . .
Команды формы и диалоговое окно
Maks 26.03.2026
1. Команда формы "ЗаполнитьЗапчасти". Программный код из решения ниже на примере нетипового документа "ЗаявкаНаРемонтСпецтехники" разработанного в конфигурации КА2. В качестве источника данных. . .
Кому нужен AOT?
DevAlt 26.03.2026
Решил сделать простой ланчер Написал заготовку: dotnet new console --aot -o UrlHandler var items = args. Split(":"); var tag = items; var id = items; var executable = args;. . .
Отправка уведомления на почту при изменении наименования справочника
Maks 24.03.2026
Программная отправка письма электронной почты на примере изменения наименования типового справочника "Склады" в конфигурации БП3. Перед реализацией необходимо выполнить настройку системной учетной. . .
модель ЗдравоСохранения 5. Меньше увольнений- больше дохода!
anaschu 24.03.2026
Теперь система здравосохранения уменьшает количество увольнений. 9TO2GP2bpX4 a42b81fb172ffc12ca589c7898261ccb/ https:/ / rutube. ru/ video/ a42b81fb172ffc12ca589c7898261ccb/ Слева синяя линия -. . .
Midnight Chicago Blues
kumehtar 24.03.2026
Такой Midnight Chicago Blues, знаешь?. . Когда вечерние улицы становятся ночными, а ты не можешь уснуть. Ты идёшь в любимый старый бар, и бармен наливает тебе виски. Ты смотришь на пролетающие. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru