Клубове Дир.бг
powered by diri.bg
търси в Клубове diri.bg Разширено търсене

Вход
Име
Парола

Клубове
Dir.bg
Взаимопомощ
Горещи теми
Компютри и Интернет
Контакти
Култура и изкуство
Мнения
Наука
Политика, Свят
Спорт
Техника
Градове
Религия и мистика
Фен клубове
Хоби, Развлечения
Общества
Я, архивите са живи
Клубове Дирене Регистрация Кой е тук Въпроси Списък Купувам / Продавам 14:14 08.07.25 
Компютри и Интернет
   >> Програмисти
*Кратък преглед

Тема Как може да се вземе RefCount на обект в .NET?нови  
Автор мopaв (непознат)
Публикувано19.01.06 09:54



...
Form obj = new Form();
Form obj2 = obj;
...

Сега ако това беше COM RefCount щеше да е == 2; Има ли начин да се засече този справочен брой в .net за .net обекти?



Тема Re: Как може да се вземе RefCount на обект в .NET? [re: мopaв]  
Автор LupiМодератор (Spitfire)
Публикувано19.01.06 14:15



Ми май няма начин, поне аз не намерих.

Иначе може да се ползва GC.ReferenceEquals(obj, obj2), за да видиш дали двете сочат към един и същи обект.



Eeeeeeeeeeeeeeeaaaaaaasy rider

Тема Re: Как може да се вземе RefCount на обект в .NET?нови [re: Lupi]  
Автор мopaв (непознат)
Публикувано19.01.06 15:13



Или object.Equals. Все някакъв начин трябва да има този събирач на боклук нали все някак засича този брой?! Или тук има някаква свръх подла магия или няма никакъв събирач:)) Ще ми се по някакъв вграден начин да засичам справки към обект в крайна сметка ще измайсторя нещо колкото да си свърша работа.



Тема Re: Как може да се вземе RefCount на обект в .NET?нови [re: мopaв]  
Авторeфp. Лyk (Нерегистриран)
Публикувано19.01.06 15:43



Каква е причината да се опитваш да разбереш колко са връзките към обект?

Питам защото не мога да се сетя за приложение на нещо такова. Може би за детектване на мемори лиик, ама ми се струва странно.



Тема Re: Как може да се вземе RefCount на обект в .NET?нови [re: мopaв]  
АвторBarracuda (Нерегистриран)
Публикувано19.01.06 15:53



Отдавна не съм се занимавал с .NET, а и на първо четене в DOC-a аз също не открих нищо.

НО, мога да дам един hint или насока за по-нататъчно търсене - ако MS са извадили някакъв публичен интерфейс за debuger-a или profiler-а, то от там би било възможно да се изрови тази информация.



Тема Re: Как може да се вземе RefCount на обект в .NET?нови [re: eфp. Лyk]  
Автормopaв (Нерегистриран)
Публикувано19.01.06 16:55



Всичко тръгна от ADO.NET направих опит през DataSet да изградя малка база в паметта и след приключване на работа с диалог да вкарам всичко в СУБД. За някоко диалога това сработи , преди ShowDialog създавам DataSet изчитам схемите на всички таблици които ми трябват евентуално създавам по един запис и нагласям отношенията. За един сложен диалог тази техника за малко да ме "погуби" :). Сега се получава една сложна но логична плетеница от масиви и т.н в които си държа всичко до момента на запис.

Имам елемент който може да участва в един или в някоко монтажа , а може и в нито един. Ако изтрия елемент то трябва да съм убеден че го е разположен на монтаж. Опитах сам да реализирам AddRef , Release бледо подобие на IUnknown. Много скоро видях , че нещо куца понеже някои части код почват да "тежат". Ако мога да засичам броя справки към обект съм си решил проблема:))



Тема Re: Как може да се вземе RefCount на обект в .NET?нови [re: мopaв]  
Авторgaga (Нерегистриран)
Публикувано19.01.06 17:18



ЦЛР-а не пази инфо за броя на референциите (абсолютно сигурно). Можеш да преброиш референциите със рефлекшът АПИ-то обаче е голям хак. Търси за "access to private members reflection" или нещо такова. Важното е да обходиш всички променливи на обвързаните асемблита и да извикаш референцееяуалс за проверката. Много е бавно и е безмислено. От дрга страна можеш да си създадеш механизъм за броене на референции на свои собствени типове и ще работи много по бързо, и може да се направи прозрачно.



Тема Re: Как може да се вземе RefCount на обект в .NET?нови [re: мopaв]  
Автор Maтa Kocмaтa (маймун)
Публикувано20.01.06 01:31



Мда - .НЕТ обектите не са ref. counted, така че нямаш шанс

Машина за отделяне на кожа и сланина от парени свине


Тема Re: Как може да се вземе RefCount на обект в .NET?нови [re: мopaв]  
Авторeфp. Лyk (Нерегистриран)
Публикувано20.01.06 10:23



Май разбрах. Искаш да го изтриеш от запис на една таблица само когато се референсва и от друго място.

Доста сигурен съм, че наготово това няма да го пoлучиш от .Net-a, защото самият обект не знае колко референса има към него. Всъщност никой не знае, докато не се пусне пълния garbage collector.

Май единственото решение е всяко пристояване да минава през едно място и там да правиш нещо.




*Кратък преглед
Клуб :  


Clubs.dir.bg е форум за дискусии. Dir.bg не носи отговорност за съдържанието и достоверността на публикуваните в дискусиите материали.

Никаква част от съдържанието на тази страница не може да бъде репродуцирана, записвана или предавана под каквато и да е форма или по какъвто и да е повод без писменото съгласие на Dir.bg
За Забележки, коментари и предложения ползвайте формата за Обратна връзка | Мобилна версия | Потребителско споразумение
© 2006-2025 Dir.bg Всички права запазени.