public UnmanagedBuffer <T> CreateGuardedBuffer <T>( UnmanagedMemoryHandle handle, int lengthInElements, bool clear) where T : struct { var buffer = new UnmanagedBuffer <T>(lengthInElements, new ReturnToPoolBufferLifetimeGuard(this, handle)); if (clear) { buffer.Clear(); } return(buffer); }