CompilerMarshalOverride CompilerMarshalOverride CompilerMarshalOverride CompilerMarshalOverride Class

Определение

Указывает, что измененный экземпляр переменной отличается от ее истинного типа при маршалинге.Indicates that the modified instance of a variable differs from its true type when marshaling. Этот класс не наследуется.This class cannot be inherited.

public ref class CompilerMarshalOverride abstract sealed
public static class CompilerMarshalOverride
type CompilerMarshalOverride = class
Public Class CompilerMarshalOverride
Наследование
CompilerMarshalOverrideCompilerMarshalOverrideCompilerMarshalOverrideCompilerMarshalOverride

Комментарии

CompilerMarshalOverride Класс позволяет среде CLR выполнить упаковку с использованием правильных размеров.The CompilerMarshalOverride class allows the common language runtime to marshal using the correct sizes.

Некоторые виды поведения среды CLR несовместимы с некоторыми языками.Some behaviors of the common language runtime are incompatible with some languages. Например, C++ обрабатывает логические переменные как однобайтовые значения, тогда как среда CLR маршалирует их как четыре байта в соответствии BOOLEAN с типом, определенным в Microsoft Windows API.For example, C++ treats Boolean variables as single-byte values, while the common language runtime marshals them as four-byte values to match the BOOLEAN type defined by the Microsoft Windows API. Чтобы обойти эти проблемы, C++ компилятор выдает этот модификатор для любого wchar_t возвращаемого параметра или bool функции.To work around such issues, the C++ compiler emits this modifier on any wchar_t or bool parameter or function return.

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