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

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.factory-4/)

## BeginInvoke(TParam1, TParam2, TParam3, AsyncCallback, object) {#begininvoke-tparam1-tparam2-tparam3-system-asynccallback-object-dc3f9049}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.factory-4/methods/begininvoke-tparam1-tparam2-tparam3-system-asynccallback-object-dc3f9049/)

```csharp
public virtual IAsyncResult Factory<TParam1, TParam2, TParam3, BeginInvoke(TParam1 param1, TParam2 param2, TParam3 param3, AsyncCallback callback, object @object)
```

### Parameters

- `param1` (`TParam1`)
- `param2` (`TParam2`)
- `param3` (`TParam3`)
- `callback` (`AsyncCallback`)
- `object` (`object`)

## EndInvoke(IAsyncResult) {#endinvoke-system-iasyncresult-b04e222d}

[Dedicated page](/orleans/docs/api/csharp/microsoft.orleans.core/orleans.factory-4/methods/endinvoke-system-iasyncresult-b04e222d/)

```csharp
public virtual TInstance Factory<TParam1, TParam2, TParam3, EndInvoke(IAsyncResult result)
```

### Parameters

- `result` (`IAsyncResult`)
