# IOpcAsyncMethodCommand Members

> Reference: Defines an asynchronous command used as the implementation of a async method.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">IOpcAsyncMethodCommand</a></dd>
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx">Opc.UaFx</a></dd>
<dt>Assembly</dt>
<dd>Opc.UaFx.Advanced.dll</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced v2.59.0</dd>
</dl>

Inherits members from [IOpcMethodCommand](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcmethodcommand/members).

## Methods

### ExecuteAsync

Performs the tasks necessary to implement the logic associated with a specific async method using the `context` and `inputArguments` specified.

<div class="api-signature" data-lang="csharp">

```csharp
Task ExecuteAsync(
    OpcMethodContext context,
    IList<object> inputArguments,
    IList<object> outputArguments)
```

</div>

<div class="api-signature" data-lang="vbnet">

```vbnet
Function ExecuteAsync(
    context As OpcMethodContext,
    inputArguments As IList(Of Object),
    outputArguments As IList(Of Object)) As Task
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `context` | [OpcMethodContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmethodcontext/) | The [OpcMethodContext](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmethodcontext/) which provides the contextual information required to execute the async method. |
| `inputArguments` | [IList](https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1)&lt;[Object](https://learn.microsoft.com/dotnet/api/system.object)&gt; | The generic list of [object](https://learn.microsoft.com/dotnet/api/system.object) values to use / respect during the execution of the async method. |
| `outputArguments` | [IList](https://learn.microsoft.com/dotnet/api/system.collections.generic.ilist-1)&lt;[Object](https://learn.microsoft.com/dotnet/api/system.object)&gt; | The generic list of [object](https://learn.microsoft.com/dotnet/api/system.object) values to use for out, ref (in Visual Basic ByRef) and returned values. |

**Returns**

[Task](https://learn.microsoft.com/dotnet/api/system.threading.tasks.task)

**Remarks**

Any OPC UA related result information is to be set using the [Result](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmethodcontext/members#result) property of the `context`.

This method is (to be) only called after the call to [CanExecute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcmethodcommand/members#canexecute) and [CanUserExecute](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.iopcmethodcommand/members#canuserexecute) evaluates to the value true.
