# GrainExtensions

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) | [Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Core.Abstractions/Core/GrainExtensions.cs#L10)

```csharp
public static class GrainExtensions
```

Extension methods for grains.

## Methods

- [AsReference(IAddressable)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.grainextensions/methods/asreference-1-this-orleans-runtime-iaddressable-2abb36bf/)
- [AsReference(IAddressable, Type)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.grainextensions/methods/asreference-this-orleans-runtime-iaddressable-system-type-63cfbb41/)
- [Cast(IAddressable)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.grainextensions/methods/cast-1-this-orleans-runtime-iaddressable-2a4597cb/)
- [Cast(IAddressable, Type)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.grainextensions/methods/cast-this-orleans-runtime-iaddressable-system-type-36ff1bc3/)
- [GetGrainId(IAddressable)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.grainextensions/methods/getgrainid-this-orleans-runtime-iaddressable-50186970/)
- [GetPrimaryKey(IAddressable)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.grainextensions/methods/getprimarykey-this-orleans-runtime-iaddressable-1d7c2ee2/)
- [GetPrimaryKey(IAddressable, string?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.grainextensions/methods/getprimarykey-this-orleans-runtime-iaddressable-out-string-nullable-821f81ba/)
- [GetPrimaryKeyLong(IAddressable)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.grainextensions/methods/getprimarykeylong-this-orleans-runtime-iaddressable-ac3a602d/)
- [GetPrimaryKeyLong(IAddressable, string?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.grainextensions/methods/getprimarykeylong-this-orleans-runtime-iaddressable-out-string-nullable-3599616d/)
- [GetPrimaryKeyString(IAddressable)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.grainextensions/methods/getprimarykeystring-this-orleans-runtime-iaddressable-41a1138d/)
- [IsPrimaryKeyBasedOnLong(IAddressable)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.grainextensions/methods/isprimarykeybasedonlong-this-orleans-runtime-iaddressable-92fbb78b/)
