SpanMarshaller<T,TUnmanagedElement> Klass

Definition

Viktigt!

Detta API uppfyller inte CLS.

Stöder marshalling av ett Span<T> från hanterat värde till en sammanhängande intern matris med de ohanterade värdena för elementen.

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

Typparametrar

T

Intervallets typ av hanterat element.

TUnmanagedElement

Den ohanterade typen för elementen i intervallet.

Arv
SpanMarshaller<T,TUnmanagedElement>
Attribut

Kommentarer

En Span<T> marshalled med denna marshaller kommer att matcha semantiken i GetReference<T>(Span<T>). I synnerhet skickar den här marshallern ett icke-värdenull för ett nolllängdsintervall om spannet har konstruerats med ett icke-värdenull .

Metoder

Name Description
AllocateContainerForManagedElements(TUnmanagedElement*, Int32)

Allokerar utrymme för att lagra de hanterade elementen.

AllocateContainerForUnmanagedElements(Span<T>, Int32)

Allokerar utrymmet för att lagra ohanterade element.

Free(TUnmanagedElement*)

Frigör det allokerade ohanterade minnet.

GetManagedValuesDestination(Span<T>)

Hämtar en mängd utrymme där de hanterade samlingselementen ska lagras.

GetManagedValuesSource(Span<T>)

Hämtar ett intervall över de hanterade samlingselementen.

GetUnmanagedValuesDestination(TUnmanagedElement*, Int32)

Hämtar ett intervall över det utrymme där ohanterade samlingselement ska lagras.

GetUnmanagedValuesSource(TUnmanagedElement*, Int32)

Hämtar ett intervall med de inbyggda samlingselementen.

Gäller för