SpanMarshaller<T,TUnmanagedElement> Classe
Definizione
Importante
Alcune informazioni sono relative alla release non definitiva del prodotto, che potrebbe subire modifiche significative prima della release definitiva. Microsoft non riconosce alcuna garanzia, espressa o implicita, in merito alle informazioni qui fornite.
Importante
Questa API non è conforme a CLS.
Supporta il marshalling di un oggetto Span<T> da un valore gestito a una matrice nativa contigua dei valori non gestiti degli elementi.
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)
Parametri di tipo
- T
Tipo di elemento gestito dell'intervallo.
- TUnmanagedElement
Tipo non gestito per gli elementi dell'intervallo.
- Ereditarietà
-
SpanMarshaller<T,TUnmanagedElement>
- Attributi
Commenti
Un Span<T> marshalling con questo marshaller corrisponderà alla semantica di GetReference<T>(Span<T>).
In particolare, questo marshaller passerà un valore nonnull per un intervallo di lunghezza zero se l'intervallo è stato costruito con un valore diversonull da .
Metodi
| Nome | Descrizione |
|---|---|
| AllocateContainerForManagedElements(TUnmanagedElement*, Int32) |
Alloca spazio per archiviare gli elementi gestiti. |
| AllocateContainerForUnmanagedElements(Span<T>, Int32) |
Alloca lo spazio per archiviare gli elementi non gestiti. |
| Free(TUnmanagedElement*) |
Libera la memoria non gestita allocata. |
| GetManagedValuesDestination(Span<T>) |
Ottiene un intervallo di spazio in cui devono essere archiviati gli elementi della raccolta gestita. |
| GetManagedValuesSource(Span<T>) |
Ottiene un intervallo degli elementi della raccolta gestita. |
| GetUnmanagedValuesDestination(TUnmanagedElement*, Int32) |
Ottiene un intervallo di spazio in cui devono essere archiviati gli elementi della raccolta non gestiti. |
| GetUnmanagedValuesSource(TUnmanagedElement*, Int32) |
Ottiene un intervallo degli elementi della raccolta nativa. |