|
Модераторы: Partizan, gambit |
|
lllJollyRogerlll |
|
||||
Новичок Профиль Группа: Участник Сообщений: 31 Регистрация: 20.11.2014 Репутация: нет Всего: нет |
Доброго времени суток!
Дорогие бородатые программисты, использующие .Net, помогите пожалуйста разобраться с ссылочными и значимыми типами. Суть такова: в данный момент читаю Рихтера - CLR via C#, Глава 11. События. Все прекрасно и очевидно, пока не начинаю вдумываться в детали. А именно - вот фрагмент, выдержка из книги:
Логика мне ясна. Не понятно одно - делегаты это ссылочные типы. Значит переменная - содержит ссылку на объект в куче. Верно? Верно. И, к примеру вот этот момент мне не дает покоя:
Судя по коду: EventHandler<NewMailEventArgs> newMail = this.NewMail; prevHandler = newMail; prevHandler ссылается на один и тот же объект что и this.NewMail а дальше мы сравниваем по сути один и тот же объект: Interlocked.CompareExchange<EventHandler<NewMailEventArgs>>(ref this.NewMail, newHandler, prevHandler); Прошу, объясните бестолковому что тут происходит? Мб в делегате оператор implicit перегружен так, что создает новый объект, копирует поля и возвращает ссылку на него? Простите за тупость, еще раз. |
||||
|
|||||
Прежде чем создать тему, посмотрите сюда: | |
|
Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов. Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :) Так же не забывайте отмечать свой вопрос решенным, если он таковым является :) Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, Partizan, PashaPash. |
1 Пользователей читают эту тему (1 Гостей и 0 Скрытых Пользователей) | |
0 Пользователей: | |
« Предыдущая тема | .NET для новичков | Следующая тема » |
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |