-
Notifications
You must be signed in to change notification settings - Fork 1.6k
/
Copy pathCompilerMarshalOverride.xml
57 lines (54 loc) · 3.49 KB
/
CompilerMarshalOverride.xml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
<Type Name="CompilerMarshalOverride" FullName="System.Runtime.CompilerServices.CompilerMarshalOverride">
<TypeSignature Language="C#" Value="public static class CompilerMarshalOverride" />
<TypeSignature Language="ILAsm" Value=".class public auto ansi abstract sealed beforefieldinit CompilerMarshalOverride extends System.Object" />
<TypeSignature Language="DocId" Value="T:System.Runtime.CompilerServices.CompilerMarshalOverride" />
<TypeSignature Language="VB.NET" Value="Public Class CompilerMarshalOverride" />
<TypeSignature Language="F#" Value="type CompilerMarshalOverride = class" />
<TypeSignature Language="C++ CLI" Value="public ref class CompilerMarshalOverride abstract sealed" />
<AssemblyInfo>
<AssemblyName>mscorlib</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.0.5.0</AssemblyVersion>
<AssemblyVersion>4.0.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>netstandard</AssemblyName>
<AssemblyVersion>2.0.0.0</AssemblyVersion>
<AssemblyVersion>2.1.0.0</AssemblyVersion>
</AssemblyInfo>
<AssemblyInfo>
<AssemblyName>System.Runtime.CompilerServices.VisualC</AssemblyName>
<AssemblyVersion>4.1.0.0</AssemblyVersion>
<AssemblyVersion>4.1.1.0</AssemblyVersion>
<AssemblyVersion>4.1.2.0</AssemblyVersion>
<AssemblyVersion>5.0.0.0</AssemblyVersion>
<AssemblyVersion>6.0.0.0</AssemblyVersion>
<AssemblyVersion>7.0.0.0</AssemblyVersion>
<AssemblyVersion>8.0.0.0</AssemblyVersion>
<AssemblyVersion>9.0.0.0</AssemblyVersion>
<AssemblyVersion>10.0.0.0</AssemblyVersion>
</AssemblyInfo>
<TypeForwardingChain>
<TypeForwarding From="netstandard" FromVersion="2.1.0.0" To="System.Runtime.CompilerServices.VisualC" ToVersion="10.0.0.0" FrameworkAlternate="net-10.0" />
<TypeForwarding From="netstandard" FromVersion="2.1.0.0" To="System.Runtime.CompilerServices.VisualC" ToVersion="5.0.0.0" FrameworkAlternate="net-5.0" />
<TypeForwarding From="netstandard" FromVersion="2.1.0.0" To="System.Runtime.CompilerServices.VisualC" ToVersion="6.0.0.0" FrameworkAlternate="net-6.0" />
<TypeForwarding From="netstandard" FromVersion="2.1.0.0" To="System.Runtime.CompilerServices.VisualC" ToVersion="7.0.0.0" FrameworkAlternate="net-7.0" />
<TypeForwarding From="netstandard" FromVersion="2.1.0.0" To="System.Runtime.CompilerServices.VisualC" ToVersion="8.0.0.0" FrameworkAlternate="net-8.0" />
<TypeForwarding From="netstandard" FromVersion="2.1.0.0" To="System.Runtime.CompilerServices.VisualC" ToVersion="9.0.0.0" FrameworkAlternate="net-9.0" />
</TypeForwardingChain>
<Base>
<BaseTypeName>System.Object</BaseTypeName>
</Base>
<Interfaces />
<Docs>
<summary>Indicates that the modified instance of a variable differs from its true type when marshaling. This class cannot be inherited.</summary>
<remarks>
<format type="text/markdown"><![CDATA[
## Remarks
The <xref:System.Runtime.CompilerServices.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.
]]></format>
</remarks>
</Docs>
<Members />
</Type>