diff --git a/net/FlatBuffers/ByteBuffer.cs b/net/FlatBuffers/ByteBuffer.cs index 0e959aec9..8e574d153 100644 --- a/net/FlatBuffers/ByteBuffer.cs +++ b/net/FlatBuffers/ByteBuffer.cs @@ -264,6 +264,22 @@ namespace Google.FlatBuffers } #endif + public T[] ToArrayPadded(int pos, int len, int padLeft, int padRight) + where T : struct + { + AssertOffsetAndLength(pos, len); + int totalBytes = padLeft + len + padRight; + byte[] raw = _buffer.Buffer; + T[] arr = new T[totalBytes]; + Buffer.BlockCopy(raw, pos, arr, padLeft, len); + return arr; + } + + public byte[] ToSizedArrayPadded(int padLeft, int padRight) + { + return ToArrayPadded(Position, Length - Position, padLeft, padRight); + } + public byte[] ToSizedArray() { return ToArray(Position, Length - Position);