public override void Write(ulong memorypos, T[] buffer, ulong bufferpos, ulong count) { T[] buffer3; if ((ulong)buffer.Length == count) { buffer3 = buffer; } else { buffer3 = new T[count]; Array.Copy(buffer, (long)bufferpos, buffer3, 0, (long)count); } RRBaseArray buffer2 = null; try { buffer2 = MessageElementDataUtil.ArrayToRRBaseArray(buffer3); WrappedArrayMemoryClientUtil.Write(innerarray, memorypos, buffer2, 0, count); } finally { if (buffer2 != null) { buffer2.Dispose(); } } }
public override void Read(ulong memorypos, T[] buffer, ulong bufferpos, ulong count) { RRBaseArray dat = null; try { dat = WrappedArrayMemoryClientUtil.Read(innerarray, memorypos, count); T[] dat2 = (T[])MessageElementDataUtil.RRBaseArrayToArray(dat); Array.Copy(dat2, 0, buffer, (long)bufferpos, (long)count); } finally { if (dat != null) { dat.Dispose(); } } }