0 / 0 / 0
Регистрация: 20.03.2015
Сообщений: 1
|
||||||
1 | ||||||
Изменение полей упакованной структуры20.03.2015, 11:03. Просмотров 2550. Ответов 3
Метки нет Все метки)
(
Читаю Рихтера CLR via C#
В главе про значимые типы на примере структуры рассматривается пример изменения полей упакованной структуры: создается структура, с n-Количеством полей и методом, изменяющим значения данных полей. если данная структура не упакована, при вызове метода поля будут изменены, если упаковать структуру и вызвать метод изменения приведя ссылку на структуру к структуре то в стеке создастся скрытая копия данной структуры и у этой копии произойдет изменение полей, а на изначальном объекте изменения не произойдет. для разрешения и данной ситуации предлагается применить интерфейс. Далее реализовав данный интерфейс в структуре, можно у упакованной структуры изменить значения полей. вот код:
появление скрытой переменной понятно, а что происходит при использовании интерфейса, это автором пропущено. при дизассемблировании появляется виртуальный вызов функции. В связи с этим вопрос: почему использование интерфейса позволяет изменить упакованную структуру, что происходит за "кулисами". заранее спасибо.
0
|
|
20.03.2015, 11:03 | |
Структура и список полей структуры Совместите объявление и инициализацию структуры. После инициализации структуры выполните изменение ее полей с последующи Данные упакованной структуры вывести на экран
__________________
3
Помогаю в написании студенческих работ здесь. Записывайтесь на профессиональные курсы С#-разработчиков |
|
Master of Orion
![]() |
|||||||||||
20.03.2015, 13:27 | 2 | ||||||||||
![]() И да, не называйте объекты o, слишком на ноль похоже и в тексте легко запутаться. Добавлено через 38 минут Но вообще изменяемые структуры это зло ![]()
1
|
0 / 0 / 0
Регистрация: 06.04.2016
Сообщений: 1
|
|
06.04.2016, 08:59 | 3 |
Так а почему?
0
|
![]() 14848 / 11236 / 2948
Регистрация: 17.09.2011
Сообщений: 18,818
|
|
06.04.2016, 09:55 | 4 |
Подразумевается, вероятно, что у переменной "р" тип должен быть не Point, a сразу IMyChange.
Тогда у вас структура будет изначально запакована и отпадут описанные проблемы.
0
|
06.04.2016, 09:55 | |
Заказываю контрольные, курсовые, дипломные и любые другие студенческие работы здесь или здесь.
Динамическое изменение структуры таблицы для организации древовиднойой структуры Искать еще темы с ответами Или воспользуйтесь поиском по форуму: |