CompilerMarshalOverride Class
Definition
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
- Inheritance
-
CompilerMarshalOverride
Remarks
The CompilerMarshalOverride class allows the common language runtime to marshal using the correct sizes.
Some behaviors of the common language runtime are incompatible with some languages. 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. To work around such issues, the C++ compiler emits this modifier on any wchar_t
or bool
parameter or function return.