# IGrainState&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)

```csharp
public interface IGrainState<T>
```

Defines the state of a grain

## Type parameters

- `T`: The underlying state type.

## Properties

- [ETag](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.igrainstate-1/properties/etag-9eaf16ad/)
- [RecordExists](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.igrainstate-1/properties/recordexists-12e88754/)
- [State](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.igrainstate-1/properties/state-4ebe705a/)
