<PackageReference Include="Microsoft.Packaging.Tools" Version="1.0.0-preview2-25401-01" />

System.Reflection.Metadata.BlobBuilder

class BlobBuilder
namespace System.Reflection.Metadata { internal class BlobBuilder { public struct Blobs : IEnumerable<Blob>, IEnumerable, IEnumerator<Blob>, IEnumerator, IDisposable { public Blob Current { get; } public bool MoveNext(); public void Reset(); public Blobs GetEnumerator(); } public int Count { get; } protected int FreeBytes { get; } public BlobBuilder(int capacity = 256); protected virtual BlobBuilder AllocateChunk(int minimalSize); protected virtual void FreeChunk(); public void Clear(); protected void Free(); public Blobs GetBlobs(); public bool ContentEquals(BlobBuilder other); public byte[] ToArray(); public byte[] ToArray(int start, int byteCount); public ImmutableArray<byte> ToImmutableArray(); public ImmutableArray<byte> ToImmutableArray(int start, int byteCount); public void WriteContentTo(Stream destination); public void WriteContentTo(ref BlobWriter destination); public void WriteContentTo(BlobBuilder destination); public void LinkPrefix(BlobBuilder prefix); public void LinkSuffix(BlobBuilder suffix); public Blob ReserveBytes(int byteCount); public void WriteBytes(byte value, int byteCount); public unsafe void WriteBytes(byte* buffer, int byteCount); public int TryWriteBytes(Stream source, int byteCount); public void WriteBytes(ImmutableArray<byte> buffer); public void WriteBytes(ImmutableArray<byte> buffer, int start, int byteCount); public void WriteBytes(byte[] buffer); public void WriteBytes(byte[] buffer, int start, int byteCount); public void PadTo(int position); public void Align(int alignment); public void WriteBoolean(bool value); public void WriteByte(byte value); public void WriteSByte(sbyte value); public void WriteDouble(double value); public void WriteSingle(float value); public void WriteInt16(short value); public void WriteUInt16(ushort value); public void WriteInt16BE(short value); public void WriteUInt16BE(ushort value); public void WriteInt32BE(int value); public void WriteUInt32BE(uint value); public void WriteInt32(int value); public void WriteUInt32(uint value); public void WriteInt64(long value); public void WriteUInt64(ulong value); public void WriteDecimal(decimal value); public void WriteGuid(Guid value); public void WriteDateTime(DateTime value); public void WriteReference(int reference, bool isSmall); public void WriteUTF16(char[] value); public void WriteUTF16(string value); public void WriteSerializedString(string value); public void WriteUserString(string value); public void WriteUTF8(string value, bool allowUnpairedSurrogates = true); public void WriteCompressedSignedInteger(int value); public void WriteCompressedInteger(int value); public void WriteConstant(object value); } }