# GrainReference

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/Runtime/GrainReference.cs#L256)

```csharp
[Orleans.Alias(GrainRef)]
public class GrainReference : IAddressable, IEquatable<GrainReference>, IFormattable, ISpanFormattable
```

This is the base class for all grain references.

## Properties

- [GrainId](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainreference/properties/grainid-d1bac44a/)
- [InterfaceName](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainreference/properties/interfacename-86cc749e/)
- [InterfaceType](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainreference/properties/interfacetype-0ef79ab3/)
- [InterfaceVersion](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainreference/properties/interfaceversion-0c8e4704/)

## Methods

- [Cast](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainreference/methods/cast-1-a6105e77/)
- [Equals(GrainReference?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainreference/methods/equals-orleans-runtime-grainreference-nullable-987f72af/)
- [Equals(object?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainreference/methods/equals-object-nullable-d05cef41/)
- [GetHashCode](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainreference/methods/gethashcode-d299909b/)
- [GetUniformHashCode](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainreference/methods/getuniformhashcode-56eb0a38/)
- [ToString](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainreference/methods/tostring-09f7a6d4/)
- [operator ==(GrainReference?, GrainReference?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainreference/methods/op-equality-orleans-runtime-grainreference-nullable-orleans-runtime-grainreferen-eba5b632/)
- [operator !=(GrainReference?, GrainReference?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainreference/methods/op-inequality-orleans-runtime-grainreference-nullable-orleans-runtime-grainrefer-d47e528e/)
