IMemoryOwner<T> IMemoryOwner<T> IMemoryOwner<T> IMemoryOwner<T> Interface


基になるメモリを適切に破棄する責任がある、メモリのブロックの所有者を特定します。Identifies the owner of a block of memory who is responsible for disposing of the underlying memory appropriately.

generic <typename T>
public interface class IMemoryOwner : IDisposable
public interface IMemoryOwner<T> : IDisposable
type IMemoryOwner<'T> = interface
    interface IDisposable
Public Interface IMemoryOwner(Of T)
Implements IDisposable



メモリに格納する要素の型。The type of elements to store in memory.



IMemoryOwner<T>の有効期間管理を担当する所有者を定義するインターフェイスを使用するMemory<T>バッファー。The IMemoryOwner<T> interface is used to define the owner responsible for the lifetime management of a Memory<T> buffer. インスタンス、IMemoryOwner<T>インターフェイスがによって返される、MemoryPool<T>.Rentメソッド。An instance of the IMemoryOwner<T> interface is returned by the MemoryPool<T>.Rent method.

バッファーには、複数のコンシューマーはありますが、一度に 1 人の所有者のみができます。While a buffer can have multiple consumers, it can only have a single owner at any given time. 所有者は次のとおりです。The owner can:

  • 直接またはファクトリ メソッドを呼び出すことにより、バッファーを作成します。Create the buffer either directly or by calling a factory method.

  • 所有権を別のコンシューマーに転送します。Transfer ownership to another consumer. この場合は、以前の所有者でする必要があります、バッファーは使用できません。In this case, the previous owner should no longer use the buffer.

  • 使用中になったときにバッファーを破棄します。Destroy the buffer when it is no longer in use.

IMemoryOwner<T>オブジェクトの実装、IDisposableインターフェイスを呼び出す必要があります、Disposeメソッド メモリ バッファーが不要になったが破棄後にのみです。Because the IMemoryOwner<T> object implements the IDisposable interface, you should call its Dispose method only after the memory buffer is no longer needed and you have destroyed it. 必要がありますいないの破棄、IMemoryOwner<T>そのメモリへの参照が利用できるオブジェクトします。You should not dispose of the IMemoryOwner<T> object while a reference to its memory is available. つまり、型をIMemoryOwner<T>が宣言されている必要はありません、Finalizeメソッド。This means that the type in which IMemoryOwner<T> is declared should not have a Finalize method.


Memory Memory Memory Memory

この所有者に属するメモリを取得します。Gets the memory belonging to this owner.


Dispose() Dispose() Dispose() Dispose()

アンマネージ リソースの解放またはリセットに関連付けられているアプリケーション定義のタスクを実行します。Performs application-defined tasks associated with freeing, releasing, or resetting unmanaged resources.

(Inherited from IDisposable)