| 1 2 3 4 |
| Re[6]: А нормально ли отписываться от событий в Dispose | |
| От: | Sshur | ||
| Дата: | 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 | |
| От: | Sshur | ||
| Дата: | 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 |