Информация об изменениях

Сообщение Re[4]: Передать this в виде object от 15.03.2024 10:59

Изменено 15.03.2024 11:00 drVanо

Re[4]: Передать this в виде object
Здравствуйте, Serginio1, Вы писали:

V>>Дак это вы просто копируете содержимое копии обратно в this

S>Так в этом и заключается боксинг унбоксинг.
S>Приведя структуру к объекту ты создаешь новый объект. Изменяешь его и должен обратно его присвоить структуре.

А хотелось бы без копирования.

Я тут задавал вопрос чуть выше:
            public unsafe void Move(int a, int b)
            {
                fixed (Point* p = &this)
                {
                    MoveObject(Pointer.Box(p, typeof(Point*)), a, b);
                }
                Console.WriteLine("point from this: {0}.{1}", x, y);
            }


Я правильно понимаю, что GC не может переместить ValueType в куче пока выполняется любой из его методов?
Re[4]: Передать this в виде object
Здравствуйте, Serginio1, Вы писали:

V>>Дак это вы просто копируете содержимое копии обратно в this

S>Так в этом и заключается боксинг унбоксинг.
S>Приведя структуру к объекту ты создаешь новый объект. Изменяешь его и должен обратно его присвоить структуре.

А хотелось бы без копирования.

Я тут задавал вопрос чуть выше:
            public unsafe void Move(int a, int b)
            {
                fixed (Point* p = &this)
                {
                    MoveObject(Pointer.Box(p, typeof(Point*)), a, b);
                }
                Console.WriteLine("point from this: {0}.{1}", x, y);
            }


Я правильно понимаю, что GC не может переместить ValueType в куче пока выполняется любой из его методов (в данном случае если убрать fixed)?