<PackageReference Include="System.Drawing.Common" Version="10.0.0-preview.7.25380.108" />

ArraySinglePrimitive<T>

Single dimensional array of a primitive type.
using System.Collections.Generic; using System.IO; using System.Runtime.CompilerServices; namespace System.Private.Windows.BinaryFormat.Serializer { internal sealed class ArraySinglePrimitive<[IsUnmanaged] T> : ArrayRecord<T>, IRecord<ArraySinglePrimitive<T>>, IRecord, IPrimitiveTypeRecord where T : struct { public PrimitiveType PrimitiveType { get; } public static RecordType RecordType => RecordType.ArraySinglePrimitive; public override BinaryType ElementType => BinaryType.Primitive; public ArraySinglePrimitive(Id objectId, [Nullable(new byte[] { 1, 0 })] IReadOnlyList<T> arrayObjects) : base(new ArrayInfo(objectId, arrayObjects.Count), arrayObjects) { PrimitiveType = typeof(T).GetPrimitiveType(); } [NullableContext(1)] private protected override void Write(BinaryWriter writer) { writer.Write((byte)RecordType); _arrayInfo.Write(writer); writer.Write((byte)PrimitiveType); BinaryReaderExtensions.WritePrimitives<T>(writer, base.ArrayObjects); } } }