SpanMarshaller<T,TUnmanagedElement> Sınıf
Tanım
Önemli
Bazı bilgiler ürünün ön sürümüyle ilgilidir ve sürüm öncesinde önemli değişiklikler yapılmış olabilir. Burada verilen bilgilerle ilgili olarak Microsoft açık veya zımni hiçbir garanti vermez.
Önemli
Bu API, CLS uyumlu değildir.
Yönetilen bir Span<T> değerden öğelerin yönetilmeyen değerlerinin bitişik yerel dizisine hazırlamayı destekler.
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)
Tür Parametreleri
- T
Yayılma alanının yönetilen öğe türü.
- TUnmanagedElement
Span öğelerinin yönetilmeyen türü.
- Devralma
-
SpanMarshaller<T,TUnmanagedElement>
- Öznitelikler
Açıklamalar
Span<T> Bu marshaller ile birlikte bir marshalled, semantiği ile GetReference<T>(Span<T>)eşleşecektir.
Özellikle bu marshaller, yayılma alanı değer olmayannull
bir değerle oluşturulduysa sıfır uzunluklu bir yayma için değer olmayannull
bir değer geçirir.
Yöntemler
AllocateContainerForManagedElements(TUnmanagedElement*, Int32) |
Yönetilen öğeleri depolamak için alan ayırır. |
AllocateContainerForUnmanagedElements(Span<T>, Int32) |
Yönetilmeyen öğeleri depolamak için alanı ayırır. |
Free(TUnmanagedElement*) |
Ayrılan yönetilmeyen belleği serbest bırakır. |
GetManagedValuesDestination(Span<T>) |
Yönetilen koleksiyon öğelerinin depolanması gereken alanın bir aralığını alır. |
GetManagedValuesSource(Span<T>) |
Yönetilen koleksiyon öğelerinin bir aralığını alır. |
GetUnmanagedValuesDestination(TUnmanagedElement*, Int32) |
Yönetilmeyen koleksiyon öğelerinin depolanması gereken alanın bir aralığını alır. |
GetUnmanagedValuesSource(TUnmanagedElement*, Int32) |
Yerel koleksiyon öğelerinin bir aralığını alır. |