Size: a a a

2020 January 06

NT

Nikita Tsukanov in pro.net
ну чтобы GC мог собрать managed-объект
источник

NT

Nikita Tsukanov in pro.net
а тот в момент сборки пристрелить нативный
источник

NT

Nikita Tsukanov in pro.net
если на него из нативного объекта смотрит GCHandle
источник

NT

Nikita Tsukanov in pro.net
то GC его никогда не соберёт
источник

IC

Ilya Chernoudov in pro.net
Nikita Tsukanov
ну чтобы GC мог собрать managed-объект
Дак ведь safehandl
источник

NT

Nikita Tsukanov in pro.net
ещё раз
источник

NT

Nikita Tsukanov in pro.net
если на safehandle есть обратная ссылка из unmanaged кода
источник

NT

Nikita Tsukanov in pro.net
то GC его не соберёт
источник

IC

Ilya Chernoudov in pro.net
А тебе она нужна? Эта ссылка?
источник

NT

Nikita Tsukanov in pro.net
да, нативный код умеет триггерить события
источник

NT

Nikita Tsukanov in pro.net
которые надо представить как эвенты у managed-объекта
источник

IC

Ilya Chernoudov in pro.net
Дак ведь weakeventmanager есть
источник

IC

Ilya Chernoudov in pro.net
Или как то так
источник

NT

Nikita Tsukanov in pro.net
-_-
источник

IC

Ilya Chernoudov in pro.net
Ты, мне кажется, хочешь наебать сам себя и clr
источник

NT

Nikita Tsukanov in pro.net
короч ясно, Dictionary<ulong, WeakReference<TTarget>> + зачистка от протухших раз в 100 обращений
источник

NT

Nikita Tsukanov in pro.net
и передача этого ulong в качестве back reference
источник

IC

Ilya Chernoudov in pro.net
У тебя есть твой safe handle обект - обёртка над нативным
источник

IC

Ilya Chernoudov in pro.net
У него есть евент, на которое подписываются кто хочет
источник

VM

Vladimir Murashkin in pro.net
сделать аллок с GCHandleType.Weak нельзя?
источник