# Grain&lt;TGrainState&gt;

Package: [Microsoft.Orleans.Core.Abstractions](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Core.Abstractions) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Core.Abstractions/Core/Grain.cs#L179)

```csharp
public class Grain<TGrainState> : Grain
```

Base class for a Grain with declared persistent state.

## Type parameters

- `TGrainState`: The class of the persistent state object
