Прочитать на английском

Поделиться через


CompilerMarshalOverride Класс

Определение

Указывает, что измененный экземпляр переменной отличается от ее истинного типа при маршалинге. Этот класс не наследуется.

public static class CompilerMarshalOverride
Наследование
CompilerMarshalOverride

Комментарии

Класс CompilerMarshalOverride позволяет среде CLR маршалировать с использованием правильных размеров.

Некоторые поведения среды CLR несовместимы с некоторыми языками. Например, C++ обрабатывает логические переменные как однобайтовые значения, а среда CLR маршалирует их как четырехбайтовые значения в соответствии с BOOLEAN типом, определенным API Microsoft Windows. Чтобы обойти такие проблемы, компилятор C++ выдает этот модификатор для любого wchar_tbool возвращаемого параметра или функции.

Применяется к

Продукт Версии
.NET Core 2.0, Core 2.1, Core 2.2, Core 3.0, Core 3.1, 5, 6, 7, 8, 9
.NET Framework 2.0, 3.0, 3.5, 4.0, 4.5, 4.5.1, 4.5.2, 4.6, 4.6.1, 4.6.2, 4.7, 4.7.1, 4.7.2, 4.8, 4.8.1
.NET Standard 2.0, 2.1