# GrainState&lt;T&gt;

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

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

```csharp
[Orleans.GenerateSerializer]
public sealed class GrainState<T> : IGrainState<T>
```

Default implementation of `Orleans.IGrainState-1`.

## Type parameters

- `T`: The type of application level payload.

## Constructors

- [GrainState&lt;T&gt;](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.grainstate-1/constructors/constructor-bae3d0e7/)
- [GrainState&lt;T&gt;(T)](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.grainstate-1/constructors/constructor-t-04285c34/)
- [GrainState&lt;T&gt;(T, string)](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.grainstate-1/constructors/constructor-t-string-4ba75718/)

## Properties

- [ETag](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.grainstate-1/properties/etag-8bd135fe/)
- [RecordExists](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.grainstate-1/properties/recordexists-0212766d/)
- [State](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.grainstate-1/properties/state-ada61511/)
