# PooledResource&lt;T&gt;

Package: [Microsoft.Orleans.Streaming](/orleans/docs/api/csharp/microsoft.orleans.streaming/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Streaming) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Streaming/Common/PooledCache/IObjectPool.cs#L33)

```csharp
public abstract class PooledResource<T> : IDisposable
    where T : Orleans.Providers.Streams.Common.PooledResource<T>, System.IDisposable
```

Utility class to support pooled objects by allowing them to track the pool they came from and return to it when disposed

## Properties

- [Pool](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.pooledresource-1/properties/pool-84576151/)

## Methods

- [Dispose](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.pooledresource-1/methods/dispose-1894c529/)
- [OnResetState](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.pooledresource-1/methods/onresetstate-3441f29c/)
- [SignalPurge](/orleans/docs/api/csharp/microsoft.orleans.streaming/orleans.providers.streams.common.pooledresource-1/methods/signalpurge-8fc25a92/)
