Здравствуйте, drVanо, Вы писали:
V>Нужно передать ссылку на ValueType в виде object, чтобы через object можно было менять содержимое структуры:
V>V> //Skipped
V>
V>Сейчас в MoveObject получаем копию Point, а не ссылку на начальную структуру.
Так не получится. ValueType отличается от ReferenceType тем, что хранится по месту. То есть переменная p хранится в стеке Main. А когда вы приовдите её к Object, то создаете копию структуры в куче и передаете ссылку на нее (операция называется
boxing). Когда вы приводите object к Point, то создаете копию в стеке функции MoveObject, меняете её, а потом эта копия исчезает.
Вам надо воспользоваться другими способами передачи (ref, class вместо struct, возвращать копию) в зависимости от того, какой результат хотите получить.