1 2 3 4
Re[6]: А нормально ли отписываться от событий в Dispose в избранное  новое горячее всё    подписка   модер. 
От: Sshurhttp://shurygin-sergey.livejournal.com
Дата: 11.02.10 07:56
Здравствуйте, Lloyd, Вы писали:

L>Здравствуйте, Sshur, Вы писали:


S>>Да, лучше всего было бы, если в язык была бы заложена возможность делать 2 вида ссылок. Но если бы по умолчанию ссылки на EventHandlerы были слабые, то я уверен, потребление памяти .NET приложениями сократилось бы в разы, потому что это просто-напросто гигантские грабли.


L>Тогда выросло бы количество NullReferenceException, причем значительно, т.к. при каждом использовании ссылки пришлось бы проверять жива ли она еще или уже отвалилась. Шило на мыло.


Почему? Любой Event перед вызовом и так проверяется на наличие у него подписчиков
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[7]: А нормально ли отписываться от событий в Dispose в избранное  новое    модер. 
От: Lloyd 
Дата: 11.02.10 07:58
Здравствуйте, Sshur, Вы писали:

L>>Тогда выросло бы количество NullReferenceException, причем значительно, т.к. при каждом использовании ссылки пришлось бы проверять жива ли она еще или уже отвалилась. Шило на мыло.


S>Почему? Любой Event перед вызовом и так проверяется на наличие у него подписчиков


Потому что между проверкой на валидность и вызовом может произойти GC.
Re[8]: А нормально ли отписываться от событий в Dispose в избранное  новое    модер. 
От: Sshurhttp://shurygin-sergey.livejournal.com
Дата: 11.02.10 08:14
Здравствуйте, Lloyd, Вы писали:


S>>Почему? Любой Event перед вызовом и так проверяется на наличие у него подписчиков


L>Потому что между проверкой на валидность и вызовом может произойти GC.


Когда мы получили адрес подписчика для проверки его на null — мы получили на него сильную ссылку и GC не пройдет. Поправьте, если не прав.

Все же должно аналогично WeakReference работать
Шурыгин Сергей

"Не следует преумножать сущности сверх необходимости" (с) Оккам
Re[9]: А нормально ли отписываться от событий в Dispose в избранное  новое    модер. 
От: Lloyd 
Дата: 11.02.10 08:20
Здравствуйте, Sshur, Вы писали:

L>>Потому что между проверкой на валидность и вызовом может произойти GC.


S>Когда мы получили адрес подписчика для проверки его на null — мы получили на него сильную ссылку и GC не пройдет. Поправьте, если не прав.


Видимо я не понял, что вы имели в виду под "ссылка на EventHandler". Проехали.
Re[7]: А нормально ли отписываться от событий в Dispose в избранное  новое    модер. 
От: AndrewVK модератор 
Дата: 11.02.10 08:47
Здравствуйте, MxKazan, Вы писали:

MK>Предлагаемый Микрософтом стандартный Weak Event Manager неудобен, слишком громоздок (хотя раньше я был иного мнения).


Микрософтом много чего предлагается. Например RX library.
... << RSDN@Home 1.2.0 alpha 4 rev. 1441 on Windows 7 6.1.7600.0>>
1 2 3 4