Auf Englisch lesen

Freigeben über


CompilerMarshalOverride Klasse

Definition

Gibt an, dass die modifizierte Instanz einer Variablen beim Marshallen von ihrem tatsächlichen Typ abweicht. Diese Klasse kann nicht vererbt werden.

C#
public static class CompilerMarshalOverride
Vererbung
CompilerMarshalOverride

Hinweise

Die CompilerMarshalOverride -Klasse ermöglicht es der Common Language Runtime, mit den richtigen Größen zu marshallen.

Einige Verhaltensweisen der Common Language Runtime sind mit einigen Sprachen nicht kompatibel. Beispielsweise behandelt C++ boolesche Variablen als Einzelbytewerte, während die Common Language Runtime sie als Vierbytewerte marshallt, um dem BOOLEAN von der Microsoft Windows-API definierten Typ zu entsprechen. Um solche Probleme zu umgehen, gibt der C++-Compiler diesen Modifizierer für einen beliebigen wchar_t Parameter oder bool eine Funktionsrückgabe aus.

Gilt für:

Produkt Versionen
.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