# IGrainLifecycle Methods

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.igrainlifecycle/)

## AddMigrationParticipant(IGrainMigrationParticipant) {#addmigrationparticipant-orleans-runtime-igrainmigrationparticipant-03268b4b}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.igrainlifecycle/methods/addmigrationparticipant-orleans-runtime-igrainmigrationparticipant-03268b4b/)

```csharp
public abstract void AddMigrationParticipant(IGrainMigrationParticipant participant)
```

Registers a grain migration participant.

### Parameters

- `participant` (`IGrainMigrationParticipant`): The participant.

## RemoveMigrationParticipant(IGrainMigrationParticipant) {#removemigrationparticipant-orleans-runtime-igrainmigrationparticipant-b2498328}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.igrainlifecycle/methods/removemigrationparticipant-orleans-runtime-igrainmigrationparticipant-b2498328/)

```csharp
public abstract void RemoveMigrationParticipant(IGrainMigrationParticipant participant)
```

Unregisters a grain migration participant.

### Parameters

- `participant` (`IGrainMigrationParticipant`): The participant.
