ArrayMarshaller<T,TUnmanagedElement> 类

定义

重要

此 API 不符合 CLS。

表示数组的封送处理程序。

generic <typename T, typename TUnmanagedElement>
 where TUnmanagedElement : value classpublic ref class ArrayMarshaller abstract sealed
[System.CLSCompliant(false)]
[System.Runtime.InteropServices.Marshalling.ContiguousCollectionMarshaller]
[System.Runtime.InteropServices.Marshalling.CustomMarshaller(typeof(System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute+GenericPlaceholder[]), System.Runtime.InteropServices.Marshalling.MarshalMode.Default, typeof(System.Runtime.InteropServices.Marshalling.ArrayMarshaller<,>))]
[System.Runtime.InteropServices.Marshalling.CustomMarshaller(typeof(System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute+GenericPlaceholder[]), System.Runtime.InteropServices.Marshalling.MarshalMode.ManagedToUnmanagedIn, typeof(System.Runtime.InteropServices.Marshalling.ArrayMarshaller<,>+ManagedToUnmanagedIn))]
public static class ArrayMarshaller<T,TUnmanagedElement> where TUnmanagedElement : struct
[<System.CLSCompliant(false)>]
[<System.Runtime.InteropServices.Marshalling.ContiguousCollectionMarshaller>]
[<System.Runtime.InteropServices.Marshalling.CustomMarshaller(typeof(System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute+GenericPlaceholder[]), System.Runtime.InteropServices.Marshalling.MarshalMode.Default, typeof(System.Runtime.InteropServices.Marshalling.ArrayMarshaller<,>))>]
[<System.Runtime.InteropServices.Marshalling.CustomMarshaller(typeof(System.Runtime.InteropServices.Marshalling.CustomMarshallerAttribute+GenericPlaceholder[]), System.Runtime.InteropServices.Marshalling.MarshalMode.ManagedToUnmanagedIn, typeof(System.Runtime.InteropServices.Marshalling.ArrayMarshaller<,>+ManagedToUnmanagedIn))>]
type ArrayMarshaller<'T, 'UnmanagedElement (requires 'UnmanagedElement : struct)> = class
Public Class ArrayMarshaller(Of T, TUnmanagedElement)

类型参数

T

数组元素类型。

TUnmanagedElement

元素类型的非托管类型。

继承
ArrayMarshaller<T,TUnmanagedElement>
属性

方法

AllocateContainerForManagedElements(TUnmanagedElement*, Int32)

为数组的托管表示形式分配内存。

AllocateContainerForUnmanagedElements(T[], Int32)

为数组的非托管表示形式分配内存。

Free(TUnmanagedElement*)

释放非托管数组的内存。

GetManagedValuesDestination(T[])

获取数组中托管元素的目标。

GetManagedValuesSource(T[])

获取数组中托管元素的源。

GetUnmanagedValuesDestination(TUnmanagedElement*, Int32)

获取数组中非托管元素的目标。

GetUnmanagedValuesSource(TUnmanagedElement*, Int32)

获取数组中非托管元素的源。

适用于