SpanMarshaller<T,TUnmanagedElement> Klasse
Definition
Wichtig
Einige Informationen beziehen sich auf Vorabversionen, die vor dem Release ggf. grundlegend überarbeitet werden. Microsoft übernimmt hinsichtlich der hier bereitgestellten Informationen keine Gewährleistungen, seien sie ausdrücklich oder konkludent.
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. |