# Factory&lt;TParam1, TParam2, TInstance&gt;

Package: [Microsoft.Orleans.Core](/orleans/docs/api/csharp/microsoft.orleans.core/) 10.0.0

[NuGet package](https://www.nuget.org/packages/Microsoft.Orleans.Core)

```csharp
public delegate TInstance Factory<TParam1, TParam2, TInstance>(TParam1 param1, TParam2 param2);
```

Creates an instance of `TInstance`.

## Returns

The instance.

## Type parameters

- `TInstance`: The instance type.
- `TParam1`: The first parameter type.
- `TParam2`: The second parameter type.

## Constructors

- [Factory&lt;TParam1, TParam2, TInstance&gt;(object, nint)](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.factory-3/constructors/constructor-object-nint-739924c7/)

## Methods

- [BeginInvoke(TParam1, TParam2, AsyncCallback, object)](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.factory-3/methods/begininvoke-tparam1-tparam2-system-asynccallback-object-42ae6d5b/)
- [EndInvoke(IAsyncResult)](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.factory-3/methods/endinvoke-system-iasyncresult-5c442859/)
