# IGrainLifecycle

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)

```csharp
public interface IGrainLifecycle : ILifecycleObservable
```

The observable grain lifecycle.

## Remarks

This type is usually used as the generic parameter in `Orleans.ILifecycleParticipant-1` as a means of participating in the lifecycle stages of a grain activation.

## Methods

- [AddMigrationParticipant(IGrainMigrationParticipant)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.igrainlifecycle/methods/addmigrationparticipant-orleans-runtime-igrainmigrationparticipant-03268b4b/)
- [RemoveMigrationParticipant(IGrainMigrationParticipant)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.igrainlifecycle/methods/removemigrationparticipant-orleans-runtime-igrainmigrationparticipant-b2498328/)
