# Grain&lt;TGrainState&gt; Constructors

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.grain-1/)

## Grain&lt;TGrainState&gt; {#constructor-0b95919e}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.grain-1/constructors/constructor-0b95919e/)

[Source](https://github.com/dotnet/orleans/blob/b7a9e3e1c9c54b3cec3a467c5734bf7744541bcf/src/Orleans.Core.Abstractions/Core/Grain.cs#L194-L202)

```csharp
protected Grain()
```

Initializes a new instance of the `Orleans.Grain-1` class.

## Grain&lt;TGrainState&gt;(IStorage&lt;TGrainState&gt;) {#constructor-orleans-core-istorage-tgrainstate-aec40869}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.grain-1/constructors/constructor-orleans-core-istorage-tgrainstate-aec40869/)

[Source](https://github.com/dotnet/orleans/blob/b7a9e3e1c9c54b3cec3a467c5734bf7744541bcf/src/Orleans.Core.Abstractions/Core/Grain.cs#L215-L218)

```csharp
protected Grain(IStorage<TGrainState> storage)
```

Initializes a new instance of the `Orleans.Grain-1` class.

### Parameters

- `storage` (`IStorage<TGrainState>`): The storage implementation.
