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 Gtk# is thread aware, but not thread safe; See the <link location="node:gtk-sharp/programming/threads">Gtk# Thread Programming</link> for details. System.Object System.Obsolete("An alternate API is available: Emit the MarshalAs custom attribute instead.") System.Runtime.InteropServices.ComVisible(true)

The code example shows the workaround for this obsolete type.

Marshaling is the process of packaging and unpackaging parameters so remote procedure calls can occur. During marshaling, a field might undergo a format conversion when the format of the managed type is different from the format of the corresponding unmanaged type. For example, you might want to marshal a String type as an unmanaged BSTR. Some format conversions are handled automatically by the runtime. To override the default behavior, you must use the UnmanagedMarshal class to define the format conversion.

Represents the class that describes how to marshal a field from managed to unmanaged code. This class cannot be inherited.

- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Runtime.InteropServices.UnmanagedType To be added: an object of type 'Runtime.InteropServices.UnmanagedType' To be added

  Gets an unmanaged base type. This property is read-only.

- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Reflection.Emit.UnmanagedMarshal ``

  The DefineByValArray method is not a simple native marshal.

  Only unmanaged marshal constructs can be made using these static constructors.

  Marshaling an array is a more complex process than marshaling an integer parameter. Array members are copied in a specific order so that the other side can reconstruct the array exactly.

  Specifies a fixed-length array (ByValArray) to marshal to unmanaged code.

  An object.

  The number of elements in the fixed-length array.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Reflection.Emit.UnmanagedMarshal ``

  The DefineByValStr method is not a simple native marshal.

  Only unmanaged marshal constructs can be made using these static constructors.

  Marshaling an array is a more complex process than marshaling an integer parameter. Array members are copied in a specific order so that the other side can reconstruct the array exactly.

  Specifies a string in a fixed array buffer (ByValTStr) to marshal to unmanaged code.

  An object.

  The number of elements in the fixed array buffer.
- Method
  System.Reflection.Emit.UnmanagedMarshal `` `` `` `` To be added. To be added. To be added. To be added. To be added. To be added. To be added. 1.0.5000.0 2.0.0.0
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Reflection.Emit.UnmanagedMarshal ``

  The DefineLPArray method is not a simple native marshal.

  Only unmanaged marshal constructs can be made using these static constructors.

  Marshaling an array is a more complex process than marshaling an integer parameter. Array members are copied in a specific order so that the other side can reconstruct the array exactly.

  Specifies an LPArray to marshal to unmanaged code. The length of an LPArray is determined at runtime by the size of the actual marshaled array.

  An object.

  The unmanaged type to which to marshal the array.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Reflection.Emit.UnmanagedMarshal ``

  The DefineSafeArray method is not a simple native marshal.

  Only unmanaged marshal constructs can be made using these static constructors.

  Marshaling an array is a more complex process than marshaling an integer parameter. Array members are copied in a specific order so that the other side can reconstruct the array exactly.

  Specifies a SafeArray to marshal to unmanaged code.

  An object.

  The base type or the UnmanagedType of each element of the array.
- Method
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Reflection.Emit.UnmanagedMarshal ``

  The passed to this method must be a simple native type. None of the following values may be used: , , , , or .

  Only unmanaged marshal constructs can be made using this method.

  Specifies a given type that is to be marshaled to unmanaged code.

  An object.

  The unmanaged type to which the type is to be marshaled.
- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Int32 To be added: an object of type 'int'

  There is an ElementCount only if there is a NativeTypeFixedArray.

  Gets a number element. This property is read-only.

- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Runtime.InteropServices.UnmanagedType To be added: an object of type 'Runtime.InteropServices.UnmanagedType'

  The GetUnmanagedType property is an accessor function for the native type.

  Indicates an unmanaged type. This property is read-only.

- Property
  1.0.5000.0
  2.0.0.0
  4.0.0.0
  System.Guid To be added: an object of type 'Guid'

  This property always returns Guid.Empty. This property might be removed in a future release.

  Gets a GUID. This property is read-only.