# GrainReference.Cast

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainreference/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainreference/methods/)

[Source](https://github.com/dotnet/orleans/blob/e4e752cedecc2976811db49802c7a999b1f1c704/src/Orleans.Core.Abstractions/Runtime/GrainReference.cs#L327)

```csharp
public virtual TGrainInterface Cast<TGrainInterface>()
```

Creates a new grain reference which implements the specified grain interface.

### Returns

A new grain reference which implements the specified interface type.
