# OpcClient.CallFunc Method

> Reference: Calls the method identified by the methodId on the object identified by the objectId specified without any input arguments and returns the value of its first output argument.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcClient</a></dd>
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx.client">Opc.UaFx.Client</a></dd>
<dt>Assembly</dt>
<dd>Opc.UaFx.Advanced.dll</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced v2.59.0</dd>
<dt>Members</dt>
<dd><a href="./members">OpcClient Members</a></dd>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

<span class="api-meta">9 overloads · since v2.8</span>

| Overload | Description |
|---|---|
| [CallFunc&lt;TResult&gt;(OpcNodeId, OpcNodeId)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/callfunc#callfunc-t1-opc-uafx-opcnodeid-opc-uafx-opcnodeid)<span class="api-meta">since v2.8</span> | Calls the method identified by the `methodId` on the object identified by the `objectId` specified without any input arguments and returns the value of its first output argument. |
| [CallFunc&lt;T, TResult&gt;(OpcNodeId, OpcNodeId, T)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/callfunc#callfunc-t2-opc-uafx-opcnodeid-opc-uafx-opcnodeid-t0)<span class="api-meta">since v2.8</span> | Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter` as the value of its input argument and returns the value of its first output argument. |
| [CallFunc&lt;T1, T2, TResult&gt;(OpcNodeId, OpcNodeId, T1, T2)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/callfunc#callfunc-t3-opc-uafx-opcnodeid-opc-uafx-opcnodeid-t0-t1)<span class="api-meta">since v2.8</span> | Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter1` and `parameter2` as the values of its input arguments and returns the value of its first output argument. |
| [CallFunc&lt;T1, T2, T3, TResult&gt;(OpcNodeId, OpcNodeId, T1, T2, T3)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/callfunc#callfunc-t4-opc-uafx-opcnodeid-opc-uafx-opcnodeid-t0-t1-t2)<span class="api-meta">since v2.8</span> | Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter1` to `parameter3` as the values of its input arguments and returns the value of its first output argument. |
| [CallFunc&lt;T1, T2, T3, T4, TResult&gt;(OpcNodeId, OpcNodeId, T1, T2, T3, T4)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/callfunc#callfunc-t5-opc-uafx-opcnodeid-opc-uafx-opcnodeid-t0-t1-t2-t3)<span class="api-meta">since v2.8</span> | Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter1` to `parameter4` as the values of its input arguments and returns the value of its first output argument. |
| [CallFunc&lt;T1, T2, T3, T4, T5, TResult&gt;(OpcNodeId, OpcNodeId, T1, T2, T3, T4, T5)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/callfunc#callfunc-t6-opc-uafx-opcnodeid-opc-uafx-opcnodeid-t0-t1-t2-t3-t4)<span class="api-meta">since v2.8</span> | Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter1` to `parameter5` as the values of its input arguments and returns the value of its first output argument. |
| [CallFunc&lt;T1, T2, T3, T4, T5, T6, TResult&gt;(OpcNodeId, OpcNodeId, T1, T2, T3, T4, T5, T6)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/callfunc#callfunc-t7-opc-uafx-opcnodeid-opc-uafx-opcnodeid-t0-t1-t2-t3-t4-t5)<span class="api-meta">since v2.8</span> | Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter1` to `parameter6` as the values of its input arguments and returns the value of its first output argument. |
| [CallFunc&lt;T1, T2, T3, T4, T5, T6, T7, TResult&gt;(OpcNodeId, OpcNodeId, T1, T2, T3, T4, T5, T6, T7)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/callfunc#callfunc-t8-opc-uafx-opcnodeid-opc-uafx-opcnodeid-t0-t1-t2-t3-t4-t5-t6)<span class="api-meta">since v2.8</span> | Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter1` to `parameter7` as the values of its input arguments and returns the value of its first output argument. |
| [CallFunc&lt;T1, T2, T3, T4, T5, T6, T7, T8, TResult&gt;(OpcNodeId, OpcNodeId, T1, T2, T3, T4, T5, T6, T7, T8)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.client.opcclient/callfunc#callfunc-t9-opc-uafx-opcnodeid-opc-uafx-opcnodeid-t0-t1-t2-t3-t4-t5-t6-t7)<span class="api-meta">since v2.8</span> | Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter1` to `parameter8` as the values of its input arguments and returns the value of its first output argument. |

**Exceptions (all overloads)**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `objectId` is a null identifier (see [IsNull](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/members#isnull)). |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `objectId` or `methodId` is a null reference (Nothing in Visual Basic). |
| [IndexOutOfRangeException](https://learn.microsoft.com/dotnet/api/system.indexoutofrangeexception) | The method did not return any output argument. |
| [InvalidCastException](https://learn.microsoft.com/dotnet/api/system.invalidcastexception) | The value of the first output argument cannot be cast to `TResult`. |
| [OpcException](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcexception/) | The client is not connected to the server, the service execution failed or the server reported a bad status code for the call or for one of its input arguments. |
| [ObjectDisposedException](https://learn.microsoft.com/dotnet/api/system.objectdisposedexception) | The object has been disposed of. |

## CallFunc&lt;TResult&gt;(OpcNodeId, OpcNodeId)

<span class="api-meta">since v2.8</span>

Calls the method identified by the `methodId` on the object identified by the `objectId` specified without any input arguments and returns the value of its first output argument.

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

```csharp
public TResult CallFunc<TResult>(OpcNodeId objectId, OpcNodeId methodId)
```

</div>

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

```vbnet
Public Function CallFunc(Of TResult)(
    objectId As OpcNodeId,
    methodId As OpcNodeId) As TResult
```

</div>

**Type parameters**

| Name | Description |
|---|---|
| `TResult` | The type to which the value of the first output argument of the method is cast. |

**Parameters**

| Name | Type | Description |
|---|---|---|
| `objectId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the object on which the method is to be called. |
| `methodId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the method to call. |

**Returns**

TResult

The value of the first output argument returned by the method, cast to `TResult`.

## CallFunc&lt;T, TResult&gt;(OpcNodeId, OpcNodeId, T)

<span class="api-meta">since v2.8</span>

Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter` as the value of its input argument and returns the value of its first output argument.

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

```csharp
public TResult CallFunc<T, TResult>(
    OpcNodeId objectId,
    OpcNodeId methodId,
    T parameter)
```

</div>

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

```vbnet
Public Function CallFunc(Of T, TResult)(
    objectId As OpcNodeId,
    methodId As OpcNodeId,
    parameter As T) As TResult
```

</div>

**Type parameters**

| Name | Description |
|---|---|
| `T` | The type of the `parameter`. |
| `TResult` | The type to which the value of the first output argument of the method is cast. |

**Parameters**

| Name | Type | Description |
|---|---|---|
| `objectId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the object on which the method is to be called. |
| `methodId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the method to call. |
| `parameter` | T | The value to pass as the input argument of the method. |

**Returns**

TResult

The value of the first output argument returned by the method, cast to `TResult`.

## CallFunc&lt;T1, T2, TResult&gt;(OpcNodeId, OpcNodeId, T1, T2)

<span class="api-meta">since v2.8</span>

Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter1` and `parameter2` as the values of its input arguments and returns the value of its first output argument.

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

```csharp
public TResult CallFunc<T1, T2, TResult>(
    OpcNodeId objectId,
    OpcNodeId methodId,
    T1 parameter1,
    T2 parameter2)
```

</div>

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

```vbnet
Public Function CallFunc(Of T1, T2, TResult)(
    objectId As OpcNodeId,
    methodId As OpcNodeId,
    parameter1 As T1,
    parameter2 As T2) As TResult
```

</div>

**Type parameters**

| Name | Description |
|---|---|
| `T1` | The type of the `parameter1`. |
| `T2` | The type of the `parameter2`. |
| `TResult` | The type to which the value of the first output argument of the method is cast. |

**Parameters**

| Name | Type | Description |
|---|---|---|
| `objectId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the object on which the method is to be called. |
| `methodId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the method to call. |
| `parameter1` | T1 | The value to pass as the first input argument of the method. |
| `parameter2` | T2 | The value to pass as the second input argument of the method. |

**Returns**

TResult

The value of the first output argument returned by the method, cast to `TResult`.

## CallFunc&lt;T1, T2, T3, TResult&gt;(OpcNodeId, OpcNodeId, T1, T2, T3)

<span class="api-meta">since v2.8</span>

Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter1` to `parameter3` as the values of its input arguments and returns the value of its first output argument.

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

```csharp
public TResult CallFunc<T1, T2, T3, TResult>(
    OpcNodeId objectId,
    OpcNodeId methodId,
    T1 parameter1,
    T2 parameter2,
    T3 parameter3)
```

</div>

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

```vbnet
Public Function CallFunc(Of T1, T2, T3, TResult)(
    objectId As OpcNodeId,
    methodId As OpcNodeId,
    parameter1 As T1,
    parameter2 As T2,
    parameter3 As T3) As TResult
```

</div>

**Type parameters**

| Name | Description |
|---|---|
| `T1` | The type of the `parameter1`. |
| `T2` | The type of the `parameter2`. |
| `T3` | The type of the `parameter3`. |
| `TResult` | The type to which the value of the first output argument of the method is cast. |

**Parameters**

| Name | Type | Description |
|---|---|---|
| `objectId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the object on which the method is to be called. |
| `methodId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the method to call. |
| `parameter1` | T1 | The value to pass as the first input argument of the method. |
| `parameter2` | T2 | The value to pass as the second input argument of the method. |
| `parameter3` | T3 | The value to pass as the third input argument of the method. |

**Returns**

TResult

The value of the first output argument returned by the method, cast to `TResult`.

## CallFunc&lt;T1, T2, T3, T4, TResult&gt;(OpcNodeId, OpcNodeId, T1, T2, T3, T4)

<span class="api-meta">since v2.8</span>

Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter1` to `parameter4` as the values of its input arguments and returns the value of its first output argument.

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

```csharp
public TResult CallFunc<T1, T2, T3, T4, TResult>(
    OpcNodeId objectId,
    OpcNodeId methodId,
    T1 parameter1,
    T2 parameter2,
    T3 parameter3,
    T4 parameter4)
```

</div>

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

```vbnet
Public Function CallFunc(Of T1, T2, T3, T4, TResult)(
    objectId As OpcNodeId,
    methodId As OpcNodeId,
    parameter1 As T1,
    parameter2 As T2,
    parameter3 As T3,
    parameter4 As T4) As TResult
```

</div>

**Type parameters**

| Name | Description |
|---|---|
| `T1` | The type of the `parameter1`. |
| `T2` | The type of the `parameter2`. |
| `T3` | The type of the `parameter3`. |
| `T4` | The type of the `parameter4`. |
| `TResult` | The type to which the value of the first output argument of the method is cast. |

**Parameters**

| Name | Type | Description |
|---|---|---|
| `objectId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the object on which the method is to be called. |
| `methodId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the method to call. |
| `parameter1` | T1 | The value to pass as the first input argument of the method. |
| `parameter2` | T2 | The value to pass as the second input argument of the method. |
| `parameter3` | T3 | The value to pass as the third input argument of the method. |
| `parameter4` | T4 | The value to pass as the fourth input argument of the method. |

**Returns**

TResult

The value of the first output argument returned by the method, cast to `TResult`.

## CallFunc&lt;T1, T2, T3, T4, T5, TResult&gt;(OpcNodeId, OpcNodeId, T1, T2, T3, T4, T5)

<span class="api-meta">since v2.8</span>

Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter1` to `parameter5` as the values of its input arguments and returns the value of its first output argument.

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

```csharp
public TResult CallFunc<T1, T2, T3, T4, T5, TResult>(
    OpcNodeId objectId,
    OpcNodeId methodId,
    T1 parameter1,
    T2 parameter2,
    T3 parameter3,
    T4 parameter4,
    T5 parameter5)
```

</div>

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

```vbnet
Public Function CallFunc(Of T1, T2, T3, T4, T5, TResult)(
    objectId As OpcNodeId,
    methodId As OpcNodeId,
    parameter1 As T1,
    parameter2 As T2,
    parameter3 As T3,
    parameter4 As T4,
    parameter5 As T5) As TResult
```

</div>

**Type parameters**

| Name | Description |
|---|---|
| `T1` | The type of the `parameter1`. |
| `T2` | The type of the `parameter2`. |
| `T3` | The type of the `parameter3`. |
| `T4` | The type of the `parameter4`. |
| `T5` | The type of the `parameter5`. |
| `TResult` | The type to which the value of the first output argument of the method is cast. |

**Parameters**

| Name | Type | Description |
|---|---|---|
| `objectId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the object on which the method is to be called. |
| `methodId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the method to call. |
| `parameter1` | T1 | The value to pass as the first input argument of the method. |
| `parameter2` | T2 | The value to pass as the second input argument of the method. |
| `parameter3` | T3 | The value to pass as the third input argument of the method. |
| `parameter4` | T4 | The value to pass as the fourth input argument of the method. |
| `parameter5` | T5 | The value to pass as the fifth input argument of the method. |

**Returns**

TResult

The value of the first output argument returned by the method, cast to `TResult`.

## CallFunc&lt;T1, T2, T3, T4, T5, T6, TResult&gt;(OpcNodeId, OpcNodeId, T1, T2, T3, T4, T5, T6)

<span class="api-meta">since v2.8</span>

Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter1` to `parameter6` as the values of its input arguments and returns the value of its first output argument.

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

```csharp
public TResult CallFunc<T1, T2, T3, T4, T5, T6, TResult>(
    OpcNodeId objectId,
    OpcNodeId methodId,
    T1 parameter1,
    T2 parameter2,
    T3 parameter3,
    T4 parameter4,
    T5 parameter5,
    T6 parameter6)
```

</div>

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

```vbnet
Public Function CallFunc(Of T1, T2, T3, T4, T5, T6, TResult)(
    objectId As OpcNodeId,
    methodId As OpcNodeId,
    parameter1 As T1,
    parameter2 As T2,
    parameter3 As T3,
    parameter4 As T4,
    parameter5 As T5,
    parameter6 As T6) As TResult
```

</div>

**Type parameters**

| Name | Description |
|---|---|
| `T1` | The type of the `parameter1`. |
| `T2` | The type of the `parameter2`. |
| `T3` | The type of the `parameter3`. |
| `T4` | The type of the `parameter4`. |
| `T5` | The type of the `parameter5`. |
| `T6` | The type of the `parameter6`. |
| `TResult` | The type to which the value of the first output argument of the method is cast. |

**Parameters**

| Name | Type | Description |
|---|---|---|
| `objectId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the object on which the method is to be called. |
| `methodId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the method to call. |
| `parameter1` | T1 | The value to pass as the first input argument of the method. |
| `parameter2` | T2 | The value to pass as the second input argument of the method. |
| `parameter3` | T3 | The value to pass as the third input argument of the method. |
| `parameter4` | T4 | The value to pass as the fourth input argument of the method. |
| `parameter5` | T5 | The value to pass as the fifth input argument of the method. |
| `parameter6` | T6 | The value to pass as the sixth input argument of the method. |

**Returns**

TResult

The value of the first output argument returned by the method, cast to `TResult`.

## CallFunc&lt;T1, T2, T3, T4, T5, T6, T7, TResult&gt;(OpcNodeId, OpcNodeId, T1, T2, T3, T4, T5, T6, T7)

<span class="api-meta">since v2.8</span>

Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter1` to `parameter7` as the values of its input arguments and returns the value of its first output argument.

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

```csharp
public TResult CallFunc<T1, T2, T3, T4, T5, T6, T7, TResult>(
    OpcNodeId objectId,
    OpcNodeId methodId,
    T1 parameter1,
    T2 parameter2,
    T3 parameter3,
    T4 parameter4,
    T5 parameter5,
    T6 parameter6,
    T7 parameter7)
```

</div>

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

```vbnet
Public Function CallFunc(Of T1, T2, T3, T4, T5, T6, T7, TResult)(
    objectId As OpcNodeId,
    methodId As OpcNodeId,
    parameter1 As T1,
    parameter2 As T2,
    parameter3 As T3,
    parameter4 As T4,
    parameter5 As T5,
    parameter6 As T6,
    parameter7 As T7) As TResult
```

</div>

**Type parameters**

| Name | Description |
|---|---|
| `T1` | The type of the `parameter1`. |
| `T2` | The type of the `parameter2`. |
| `T3` | The type of the `parameter3`. |
| `T4` | The type of the `parameter4`. |
| `T5` | The type of the `parameter5`. |
| `T6` | The type of the `parameter6`. |
| `T7` | The type of the `parameter7`. |
| `TResult` | The type to which the value of the first output argument of the method is cast. |

**Parameters**

| Name | Type | Description |
|---|---|---|
| `objectId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the object on which the method is to be called. |
| `methodId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the method to call. |
| `parameter1` | T1 | The value to pass as the first input argument of the method. |
| `parameter2` | T2 | The value to pass as the second input argument of the method. |
| `parameter3` | T3 | The value to pass as the third input argument of the method. |
| `parameter4` | T4 | The value to pass as the fourth input argument of the method. |
| `parameter5` | T5 | The value to pass as the fifth input argument of the method. |
| `parameter6` | T6 | The value to pass as the sixth input argument of the method. |
| `parameter7` | T7 | The value to pass as the seventh input argument of the method. |

**Returns**

TResult

The value of the first output argument returned by the method, cast to `TResult`.

## CallFunc&lt;T1, T2, T3, T4, T5, T6, T7, T8, TResult&gt;(OpcNodeId, OpcNodeId, T1, T2, T3, T4, T5, T6, T7, T8)

<span class="api-meta">since v2.8</span>

Calls the method identified by the `methodId` on the object identified by the `objectId` specified using the `parameter1` to `parameter8` as the values of its input arguments and returns the value of its first output argument.

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

```csharp
public TResult CallFunc<T1, T2, T3, T4, T5, T6, T7, T8, TResult>(
    OpcNodeId objectId,
    OpcNodeId methodId,
    T1 parameter1,
    T2 parameter2,
    T3 parameter3,
    T4 parameter4,
    T5 parameter5,
    T6 parameter6,
    T7 parameter7,
    T8 parameter8)
```

</div>

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

```vbnet
Public Function CallFunc(Of T1, T2, T3, T4, T5, T6, T7, T8, TResult)(
    objectId As OpcNodeId,
    methodId As OpcNodeId,
    parameter1 As T1,
    parameter2 As T2,
    parameter3 As T3,
    parameter4 As T4,
    parameter5 As T5,
    parameter6 As T6,
    parameter7 As T7,
    parameter8 As T8) As TResult
```

</div>

**Type parameters**

| Name | Description |
|---|---|
| `T1` | The type of the `parameter1`. |
| `T2` | The type of the `parameter2`. |
| `T3` | The type of the `parameter3`. |
| `T4` | The type of the `parameter4`. |
| `T5` | The type of the `parameter5`. |
| `T6` | The type of the `parameter6`. |
| `T7` | The type of the `parameter7`. |
| `T8` | The type of the `parameter8`. |
| `TResult` | The type to which the value of the first output argument of the method is cast. |

**Parameters**

| Name | Type | Description |
|---|---|---|
| `objectId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the object on which the method is to be called. |
| `methodId` | [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) | The [OpcNodeId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcnodeid/) of the method to call. |
| `parameter1` | T1 | The value to pass as the first input argument of the method. |
| `parameter2` | T2 | The value to pass as the second input argument of the method. |
| `parameter3` | T3 | The value to pass as the third input argument of the method. |
| `parameter4` | T4 | The value to pass as the fourth input argument of the method. |
| `parameter5` | T5 | The value to pass as the fifth input argument of the method. |
| `parameter6` | T6 | The value to pass as the sixth input argument of the method. |
| `parameter7` | T7 | The value to pass as the seventh input argument of the method. |
| `parameter8` | T8 | The value to pass as the eighth input argument of the method. |

**Returns**

TResult

The value of the first output argument returned by the method, cast to `TResult`.
