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

Сообщение Re[5]: крепостные объекты от 08.03.2024 3:32

Изменено 08.03.2024 3:34 Sinclair

Re[5]: крепостные объекты
Здравствуйте, m2user, Вы писали:
M>Очевидно:
M>

M>You can use the fixed statement only in an unsafe context. The code that contains unsafe blocks must be compiled with the AllowUnsafeBlocks compiler option.

а, ну так это — просто такой способ выстрелить себе в ногу. Код c прямыми манипуляциями GCHandle в реальности unsafe, просто он притворяется safe, обходя ограничения.
M>Поменять настройки проекта это не всегда доступная опция.
M>И вот это Ваше замечание к unsafe тоже вполне относится:
M>

M>Сначала нужно очень хорошо разобраться, что это, в каких случаях его надо использовать, какие там ограничения и прочее.

Совершенно верно.
Re[5]: крепостные объекты
Здравствуйте, m2user, Вы писали:
M>Очевидно:
M>

M>You can use the fixed statement only in an unsafe context. The code that contains unsafe blocks must be compiled with the AllowUnsafeBlocks compiler option.

а, ну так это — просто такой способ выстрелить себе в ногу. Код c прямыми манипуляциями GCHandle в реальности unsafe, просто он притворяется safe, обходя ограничения.
M>Поменять настройки проекта это не всегда доступная опция.
Запросто можно вынести сам вызов нативного кода вместе с fixed в отдельную сборку с произвольными настройками проекта, а на неё просто сослаться. Собственно, технически GCHandle устроен именно так.

M>И вот это Ваше замечание к unsafe тоже вполне относится:

M>

M>Сначала нужно очень хорошо разобраться, что это, в каких случаях его надо использовать, какие там ограничения и прочее.

Совершенно верно.