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

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

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

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

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

Ответ
 
Опции темы Поиск в этой теме
Старый 10.04.2014, 20:09   #1
Sollaxx
 
Регистрация: 10.04.2014
Сообщений: 4
По умолчанию ссылка на объект

доброго дня..
вопрос в следующем - Controls некий экземпляр класса Control.ControlCollection, содержащий ссылки на экземпляры класса Control..
Почему при вызове метода Dispose() для отдельного элемента коллекции размер коллекции уменьшается?

// Controls.Count = 10
for (int i = Controls.Count - 1; i >= 0 ; i--)
{
if (Controls[i] != null)
{
Controls[i].Dispose();
}
}
// Controls.Count = 0

В каком месте кода какого класса это происходит?..
Sollaxx вне форума Ответить с цитированием
Старый 10.04.2014, 21:41   #2
WorldMaster
Старожил
 
Аватар для WorldMaster
 
Регистрация: 25.08.2011
Сообщений: 2,841
По умолчанию

и что за класс такой у вас? самописный?? может в вашей реализации Dispose() происходит реструктуризация списка?
Skype - wmaster_s E-Mail - WorldMasters@gmail.com
Работаем по 3 критериям - быстро, качественно, недорого. Заказчик выбирает любые два.
WorldMaster вне форума Ответить с цитированием
Старый 10.04.2014, 22:49   #3
Sollaxx
 
Регистрация: 10.04.2014
Сообщений: 4
По умолчанию

Цитата:
Сообщение от WorldMaster Посмотреть сообщение
и что за класс такой у вас? самописный?? может в вашей реализации Dispose() происходит реструктуризация списка?
Мой вопрос из разряда "чтобы понимать".. Классы из библиотеки .NET Framework: System.Windows.Forms.Control а в нем свойство Controls (System.Windows.Forms.Control.Contr olCollection).. По моему скромному недопониманию метод вызываемый для элемента коллекции как-то не способен управлять самой коллекцией, в частности менять количество входящих в эту коллекцию элементов.. Так понимаю, что есть скрытые механизмы.. вот об этом бы и узнать..
Sollaxx вне форума Ответить с цитированием
Старый 11.04.2014, 05:51   #4
phomm
personality
Старожил
 
Аватар для phomm
 
Регистрация: 28.04.2009
Сообщений: 2,882
По умолчанию

Скорее всего контрол знает о коллекции и при уничтожении просто её нотифицмрует обэтом и коллекция решает его удалить, если побеспокоить немного мсдн , то думаю там можно найти объяснение этому факту. Для коллекций в целом это частое поведение.
phomm вне форума Ответить с цитированием
Старый 11.04.2014, 08:33   #5
Sollaxx
 
Регистрация: 10.04.2014
Сообщений: 4
По умолчанию

мне бы ссылку.. все что удалось найти в мсдн очень расплывчато..
Sollaxx вне форума Ответить с цитированием
Ответ


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



Похожие темы
Тема Автор Раздел Ответов Последнее сообщение
В экземпляре объекта не задана ссылка на объект. Madmaxisss C# (си шарп) 2 17.08.2013 09:25
ссылка на объект не указывает на экземпляр объекта miarida C# (си шарп) 3 27.05.2013 08:28
В экземпляре объекта не задана ссылка на объект BlackStoens Помощь студентам 18 08.07.2011 15:12
javascript ссылка на объект hotcooler17 JavaScript, Ajax 0 08.04.2011 22:55
Ссылка на объект у узла TreeView Sanprof Общие вопросы C/C++ 0 25.11.2010 13:42