Re: Передать this в виде object
От: gandjustas Россия http://blog.gandjustas.ru/
Дата: 14.03.24 09:38
Оценка: 1 (1) +2
Здравствуйте, drVanо, Вы писали:

V>Нужно передать ссылку на ValueType в виде object, чтобы через object можно было менять содержимое структуры:

V>
V>   //Skipped
V>


V>Сейчас в MoveObject получаем копию Point, а не ссылку на начальную структуру.


Так не получится. ValueType отличается от ReferenceType тем, что хранится по месту. То есть переменная p хранится в стеке Main. А когда вы приовдите её к Object, то создаете копию структуры в куче и передаете ссылку на нее (операция называется boxing). Когда вы приводите object к Point, то создаете копию в стеке функции MoveObject, меняете её, а потом эта копия исчезает.

Вам надо воспользоваться другими способами передачи (ref, class вместо struct, возвращать копию) в зависимости от того, какой результат хотите получить.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.