# PooledResource&lt;T&gt; Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.pooledresource-1/)

## Dispose {#dispose-1894c529}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.pooledresource-1/methods/dispose-1894c529/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Common/PooledCache/IObjectPool.cs#L58-L64)

```csharp
public void Dispose()
```

Returns item to pool.

## OnResetState {#onresetstate-3441f29c}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.pooledresource-1/methods/onresetstate-3441f29c/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Common/PooledCache/IObjectPool.cs#L72)

```csharp
public virtual void OnResetState()
```

Notifies the object that it has been purged, so it can reset itself to the state of a newly allocated object.

## SignalPurge {#signalpurge-8fc25a92}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.pooledresource-1/methods/signalpurge-8fc25a92/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Common/PooledCache/IObjectPool.cs#L50-L51)

```csharp
public virtual void SignalPurge()
```

If this object is to be used in a fixed size object pool, this call should be overridden with the purge implementation that returns the object to the pool.
