# GrainReferenceShared Constructors

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

## GrainReferenceShared(GrainType, GrainInterfaceType, ushort, IGrainReferenceRuntime, InvokeMethodOptions, CodecProvider, CopyContextPool, IServiceProvider) {#constructor-orleans-runtime-graintype-orleans-runtime-graininterfacetype-ushort-5b286111}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.runtime.grainreferenceshared/constructors/constructor-orleans-runtime-graintype-orleans-runtime-graininterfacetype-ushort-5b286111/)

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

```csharp
public GrainReferenceShared(GrainType grainType, GrainInterfaceType grainInterfaceType, ushort interfaceVersion, IGrainReferenceRuntime runtime, InvokeMethodOptions invokeMethodOptions, CodecProvider codecProvider, CopyContextPool copyContextPool, IServiceProvider serviceProvider)
```

### Parameters

- `grainType` (`GrainType`)
- `grainInterfaceType` (`GrainInterfaceType`)
- `interfaceVersion` (`ushort`)
- `runtime` (`IGrainReferenceRuntime`)
- `invokeMethodOptions` (`InvokeMethodOptions`)
- `codecProvider` (`CodecProvider`)
- `copyContextPool` (`CopyContextPool`)
- `serviceProvider` (`IServiceProvider`)
