<PackageReference Include="System.Drawing.Common" Version="9.0.10" />

BinaryWriterExtensions

static class BinaryWriterExtensions
using System.Collections.Generic; using System.Private.Windows.Core.BinaryFormat; using System.Runtime.CompilerServices; using System.Runtime.Serialization; namespace System.IO { [NullableContext(1)] [Nullable(0)] internal static class BinaryWriterExtensions { public static void Write(this BinaryWriter writer, DateTime value) { long value2 = Unsafe.As<DateTime, long>(ref value); writer.Write(value2); } internal static void Write(this BinaryWriter writer, IReadOnlyList<MemberTypeInfo> memberTypeInfo) { MemberTypeInfo memberTypeInfo2; for (int i = 0; i < memberTypeInfo.Count; i++) { memberTypeInfo2 = memberTypeInfo[i]; writer.Write((byte)memberTypeInfo2.Type); } for (int j = 0; j < memberTypeInfo.Count; j++) { memberTypeInfo2 = memberTypeInfo[j]; switch (memberTypeInfo2.Type) { case BinaryType.Primitive: case BinaryType.PrimitiveArray: memberTypeInfo2 = memberTypeInfo[j]; writer.Write((byte)memberTypeInfo2.Info); break; case BinaryType.SystemClass: memberTypeInfo2 = memberTypeInfo[j]; writer.Write((string)memberTypeInfo2.Info); break; case BinaryType.Class: memberTypeInfo2 = memberTypeInfo[j]; ((ClassTypeInfo)memberTypeInfo2.Info).Write(writer); break; default: throw new SerializationException("Unexpected binary type."); case BinaryType.String: case BinaryType.Object: case BinaryType.ObjectArray: case BinaryType.StringArray: break; } } } } }