CompilerMarshalOverride 類別

定義

表示某個變數的修改執行個體 (Instance) 與封送處理 (Marshaling) 時的真正型別不同。 此類別無法獲得繼承。

C#
public static class CompilerMarshalOverride
繼承
CompilerMarshalOverride

備註

類別 CompilerMarshalOverride 可讓 Common Language Runtime 使用正確的大小封送處理。

Common Language Runtime 的某些行為與某些語言不相容。 例如,C++ 會將布爾變數視為單一位元組值,而 Common Language Runtime 會將它們封送處理為四位元組值,以符合 BOOLEAN Microsoft Windows API 所定義的類型。 若要解決這類問題,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