# IGrainFactory

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)

```csharp
public interface IGrainFactory
```

Functionality for creating references to grains.

## Methods

- [CreateObjectReference(IGrainObserver)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/createobjectreference-1-orleans-igrainobserver-d8b8f98a/)
- [DeleteObjectReference(IGrainObserver)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/deleteobjectreference-1-orleans-igrainobserver-f5167deb/)
- [GetGrain(GrainId)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/getgrain-orleans-runtime-grainid-9362e357/)
- [GetGrain(GrainId, GrainInterfaceType)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/getgrain-orleans-runtime-grainid-orleans-runtime-graininterfacetype-3ac1151c/)
- [GetGrain(Type, IdSpan)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/getgrain-system-type-orleans-runtime-idspan-3d360837/)
- [GetGrain(Type, IdSpan, string)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/getgrain-system-type-orleans-runtime-idspan-string-c6de0a6c/)
- [GetGrain(Type, Guid)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/getgrain-system-type-system-guid-bf7da003/)
- [GetGrain(Type, Guid, string)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/getgrain-system-type-system-guid-string-9a9599e2/)
- [GetGrain(Type, long)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/getgrain-system-type-long-50faca92/)
- [GetGrain(Type, long, string)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/getgrain-system-type-long-string-716c1515/)
- [GetGrain(Type, string)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/getgrain-system-type-string-32fe07b3/)
- [GetGrain(GrainId)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/getgrain-1-orleans-runtime-grainid-17009c56/)
- [GetGrain(Guid, string, string?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/getgrain-1-system-guid-string-string-nullable-16e2e263/)
- [GetGrain(Guid, string?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/getgrain-1-system-guid-string-nullable-f7a20fc6/)
- [GetGrain(long, string, string?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/getgrain-1-long-string-string-nullable-6003727c/)
- [GetGrain(long, string?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/getgrain-1-long-string-nullable-b3777177/)
- [GetGrain(string, string?)](/orleans/docs/api/csharp/microsoft.orleans.core.abstractions/orleans.igrainfactory/methods/getgrain-1-string-string-nullable-6f4860ca/)
