SpanMarshaller<T,TUnmanagedElement> Klasse

Definition

Wichtig

Diese API ist nicht CLS-kompatibel.

Unterstützt das Marshallen eines Span<T> verwalteten Werts in ein zusammenhängendes systemeigenes Array der nicht verwalteten Werte der Elemente.

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)

Typparameter

T

Der verwaltete Elementtyp der Spanne.

TUnmanagedElement

Der nicht verwaltete Typ für die Elemente der Spanne.

Vererbung
SpanMarshaller<T,TUnmanagedElement>
Attribute

Hinweise

Ein Span<T> Marshall mit diesem Marshaller entspricht der Semantik von GetReference<T>(Span<T>). Insbesondere übergibt dieser Marshaller einen Wertnull ungleich Null, wenn die Spanne mit einem Ungleichwertnull erstellt wurde.

Methoden

Name Beschreibung
AllocateContainerForManagedElements(TUnmanagedElement*, Int32)

Ordnet Speicherplatz zum Speichern der verwalteten Elemente zu.

AllocateContainerForUnmanagedElements(Span<T>, Int32)

Weist den Platz zum Speichern der nicht verwalteten Elemente zu.

Free(TUnmanagedElement*)

Gibt den zugewiesenen nicht verwalteten Speicher frei.

GetManagedValuesDestination(Span<T>)

Ruft einen Bereich des Raums ab, in dem die verwalteten Sammlungselemente gespeichert werden sollen.

GetManagedValuesSource(Span<T>)

Ruft einen Bereich der verwalteten Auflistungselemente ab.

GetUnmanagedValuesDestination(TUnmanagedElement*, Int32)

Ruft einen Bereich des Raums ab, in dem die nicht verwalteten Auflistungselemente gespeichert werden sollen.

GetUnmanagedValuesSource(TUnmanagedElement*, Int32)

Ruft einen Bereich der systemeigenen Auflistungselemente ab.

Gilt für: