Сообщение Re[4]: Передать this в виде object от 15.03.2024 10:59
Изменено 15.03.2024 11:00 drVanо
Re[4]: Передать this в виде object
Здравствуйте, Serginio1, Вы писали:
V>>Дак это вы просто копируете содержимое копии обратно в this
S>Так в этом и заключается боксинг унбоксинг.
S>Приведя структуру к объекту ты создаешь новый объект. Изменяешь его и должен обратно его присвоить структуре.
А хотелось бы без копирования.
Я тут задавал вопрос чуть выше:
Я правильно понимаю, что GC не может переместить ValueType в куче пока выполняется любой из его методов?
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>Приведя структуру к объекту ты создаешь новый объект. Изменяешь его и должен обратно его присвоить структуре.
А хотелось бы без копирования.
Я тут задавал вопрос чуть выше:
Я правильно понимаю, что GC не может переместить ValueType в куче пока выполняется любой из его методов (в данном случае если убрать fixed)?
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)?