# IGrainContext Properties

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

## ActivationId {#activationid-fce9bc3d}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.igraincontext/properties/activationid-fce9bc3d/)

```csharp
public abstract ActivationId ActivationId
```

Gets the activation id.

## ActivationServices {#activationservices-45393be2}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.igraincontext/properties/activationservices-45393be2/)

```csharp
public abstract IServiceProvider ActivationServices
```

Gets the `System.IServiceProvider` that provides access to the grain activation's service container.

## Address {#address-e9b8a094}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.igraincontext/properties/address-e9b8a094/)

```csharp
public abstract GrainAddress Address
```

Gets the activation address.

## Deactivated {#deactivated-fbaa5aa6}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.igraincontext/properties/deactivated-fbaa5aa6/)

```csharp
public abstract Task Deactivated
```

Gets the `System.Threading.Tasks.Task` which completes when the grain has deactivated.

## GrainId {#grainid-2160b6c5}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.igraincontext/properties/grainid-2160b6c5/)

```csharp
public abstract GrainId GrainId
```

Gets the grain identity.

## GrainInstance {#graininstance-8dbb1c85}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.igraincontext/properties/graininstance-8dbb1c85/)

```csharp
public abstract object? GrainInstance
```

Gets the grain instance, or `null` if the grain instance has not been set yet.

## GrainReference {#grainreference-fdbd317f}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.igraincontext/properties/grainreference-fdbd317f/)

```csharp
public abstract GrainReference GrainReference
```

Gets a reference to this grain.

## ObservableLifecycle {#observablelifecycle-a4d26d54}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.igraincontext/properties/observablelifecycle-a4d26d54/)

```csharp
public abstract IGrainLifecycle ObservableLifecycle
```

Gets the observable [Grain](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.grain/) lifecycle, which can be used to add lifecycle hooks.

## Scheduler {#scheduler-c9fd8f0e}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.igraincontext/properties/scheduler-c9fd8f0e/)

```csharp
public abstract IWorkItemScheduler Scheduler
```

Gets the scheduler.
