# ICosmosOperationExecutor.ExecuteOperation(Func&lt;TArg, Task&lt;TResult&gt;&gt;, TArg)

[Type overview](/orleans/docs/api/csharp/microsoft.orleans.persistence.cosmos/orleans.persistence.cosmos.icosmosoperationexecutor/) | [Methods](/orleans/docs/api/csharp/microsoft.orleans.persistence.cosmos/orleans.persistence.cosmos.icosmosoperationexecutor/methods/)

```csharp
public abstract Task<TResult> ExecuteOperation<TArg, TResult>(Func<TArg, Task<TResult>> func, TArg arg)
```

Executes the provided Cosmos DB operation.

### Parameters

- `func` (`Func<TArg, Task<TResult>>`): The delegate to execute.
- `arg` (`TArg`): The argument to pass to delegate invocations.

### Returns

The result of invoking the delegate.
