RuntimeInfrastructure mscorlib [00 00 00 00 00 00 00 00 04 00 00 00 00 00 00 00 ] 1.0.5000.0 2.0.0.0 4.0.0.0 All public static members of this type are safe for multithreaded operations. No instance members are guaranteed to be thread safe. System.Attribute System.AttributeUsage(System.AttributeTargets.Field | System.AttributeTargets.Parameter | System.AttributeTargets.ReturnValue | System.AttributeTargets.All, Inherited=false) System.Runtime.InteropServices.ComVisible(true)

Specifies how data is to be marshaled between managed and unmanaged code.

This attribute can be applied to parameters, fields, or return values.

Each data type has a default marshaling behavior that is used if this attribute is not present. This attribute is only required when a type can be marshaled as more than one possible types. The enumeration specifies possible data types.

Compilers are required to not preserve this type in metadata as a custom attribute. Instead, compilers are required to emit it directly in the file format, as described in Partition II of the CLI Specification. Metadata consumers, such as the Reflection API, are required to retrieve this data from the file format and return it as if it were a custom attribute.

- Constructor
  A containing a value indicating how the data is to be marshaled.

  Constructs and initializes a new instance of the class with the specified value.

  To be added.
  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Constructor
  A value indicating how the data is to be marshaled.

  Constructs and initializes a new instance of the class with the specified value.

  To be added.
  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Field
  System.Runtime.InteropServices.UnmanagedType

  A enumeration value that specifies the type of elements in an array.

  To be added. 0 1.0.5000.0 2.0.0.0 4.0.0.0
- Field
  System.Int32 To be added. To be added. 2.0.0.0 4.0.0.0
- Field
  System.String

  A that is used with to hold a cookie that is passed to the custom marshaler. The value of the cookie is defined by the custom marshaler implementation.

  This field is used only with and is optional.

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Field
  System.String

  A that identifies the of a custom marshaler.

  This field is used only with and is required.

  A custom marshaler is a type that is capable of marshaling calls from a specific managed type to a specific unmanaged type and vice versa.

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Runtime.InteropServices.ComVisible(true)
- Field
  System.Type

  Specifies the managed of the argument being marshaled.

  This field is used only with and is required.

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Runtime.InteropServices.ComVisible(true)
- Field
  System.Runtime.InteropServices.VarEnum To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Field
  System.Type To be added. To be added. 1.0.5000.0 2.0.0.0 4.0.0.0
- Field
  System.Int32

  A that specifies the size, in bytes, of the constant size array being marshaled.

  This field is used only with the or enumeration value. When using either of these unmanaged types, either this field or is required.

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Field
  System.Int16

  A that identifies the position (starting with zero) of the method argument that identifies the size of the array being marshaled.

  This field is used only with the or enumeration value. When using either of these unmanaged types, either this field or is required.

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
- Property
  System.Runtime.InteropServices.UnmanagedType

  Gets the value the data is to be marshaled as.

  The value indicating how the data is to be marshaled.

  This property is read-only.

  0
  1.0.5000.0
  2.0.0.0
  4.0.0.0
0