> ## Documentation Index
> Fetch the complete documentation index at: https://easyaf.nimbleapps.cloud/llms.txt
> Use this file to discover all available pages before exploring further.

# OperationContext

> Represents context under which a operation is executed.             One instance created for one execution of one operation.

## Definition

**Assembly:** Microsoft.Restier.Core.dll

**Namespace:** Microsoft.Restier.Core.Operation

**Inheritance:** Microsoft.Restier.Core.InvocationContext

## Syntax

```csharp theme={"dark"}
Microsoft.Restier.Core.Operation.OperationContext
```

## Summary

Represents context under which a operation is executed.
One instance created for one execution of one operation.

## Constructors

### &#x20;.ctor

Initializes a new instance of the [OperationContext](https://easyaf.nimbleapps.cloud/restier/api-reference/Microsoft/Restier/Core/Operation/OperationContext.md) class.

#### Syntax

```csharp theme={"dark"}
public OperationContext(Microsoft.Restier.Core.ApiBase api, System.Func<string, object> getParameterValueFunc, string operationName, bool isFunction, System.Collections.IEnumerable bindingParameterValue)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `api` | `Microsoft.Restier.Core.ApiBase` | An Api. |
| `getParameterValueFunc` | `System.Func<string, object>` | The function that used to retrieve the parameter value name. |
| `operationName` | `string` | The operation name. |
| `isFunction` | `bool` | A flag indicates this is a function call or action call. |
| `bindingParameterValue` | `System.Collections.IEnumerable` | A queryable for binding parameter value and if it is function/action import, the value will be null. |

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `Microsoft.Restier.Core.InvocationContext`

Initializes a new instance of the [InvocationContext](https://easyaf.nimbleapps.cloud/restier/api-reference/Microsoft/Restier/Core/InvocationContext.md) class.

#### Syntax

```csharp theme={"dark"}
public InvocationContext(Microsoft.Restier.Core.ApiBase api)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `api` | `Microsoft.Restier.Core.ApiBase` | An Api. |

### &#x20;.ctor Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public Object()
```

## Properties

### &#x20;Api Inherited

> [!NOTE]
>
> Inherited from `Microsoft.Restier.Core.InvocationContext`

Gets the [ApiBase](https://easyaf.nimbleapps.cloud/restier/api-reference/Microsoft/Restier/Core/ApiBase.md) descendant for this invocation.

#### Syntax

```csharp theme={"dark"}
public Microsoft.Restier.Core.ApiBase Api { get; }
```

#### Property Value

Type: `Microsoft.Restier.Core.ApiBase`

### &#x20;BindingParameterValue

Gets the queryable for binding parameter value,
and if it is function/action import, the value will be null.

#### Syntax

```csharp theme={"dark"}
public System.Collections.IEnumerable BindingParameterValue { get; }
```

#### Property Value

Type: `System.Collections.IEnumerable`

### &#x20;GetParameterValueFunc

Gets the function that used to retrieve the parameter value name.

#### Syntax

```csharp theme={"dark"}
public System.Func<string, object> GetParameterValueFunc { get; }
```

#### Property Value

Type: `System.Func<string, object>`

### &#x20;IsFunction

Gets a value indicating whether it is a function call or action call.

#### Syntax

```csharp theme={"dark"}
public bool IsFunction { get; }
```

#### Property Value

Type: `bool`

### &#x20;OperationName

Gets the operation name.

#### Syntax

```csharp theme={"dark"}
public string OperationName { get; }
```

#### Property Value

Type: `string`

### &#x20;ParameterValues

Gets or sets the parameters value array used by method,
It is only set after parameters are prepared.

#### Syntax

```csharp theme={"dark"}
public System.Collections.Generic.ICollection<object> ParameterValues { get; set; }
```

#### Property Value

Type: `System.Collections.Generic.ICollection<object>`

## Methods

### &#x20;Equals Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public virtual bool Equals(object obj)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `obj` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;Equals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public static bool Equals(object objA, object objB)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `objA` | `object?` | - |
| `objB` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;GetApiService Inherited

> [!NOTE]
>
> Inherited from `Microsoft.Restier.Core.InvocationContext`

Gets an API service.

#### Syntax

```csharp theme={"dark"}
public T GetApiService<T>() where T : class
```

#### Returns

Type: `T`
The API service instance.

#### Type Parameters

* `T` - The API service type.

### &#x20;GetApiService Inherited

> [!NOTE]
>
> Inherited from `Microsoft.Restier.Core.InvocationContext`

Gets an API service.

#### Syntax

```csharp theme={"dark"}
public object GetApiService(System.Type type)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `type` | `System.Type` | The API service type. |

#### Returns

Type: `object`
The API service instance.

### &#x20;GetHashCode Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public virtual int GetHashCode()
```

#### Returns

Type: `int`

### &#x20;GetType Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public System.Type GetType()
```

#### Returns

Type: `System.Type`

### &#x20;MemberwiseClone Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
protected internal object MemberwiseClone()
```

#### Returns

Type: `object`

### &#x20;ReferenceEquals Inherited

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public static bool ReferenceEquals(object objA, object objB)
```

#### Parameters

| Name | Type | Description |
| - | - | - |
| `objA` | `object?` | - |
| `objB` | `object?` | - |

#### Returns

Type: `bool`

### &#x20;ToString Inherited Virtual

> [!NOTE]
>
> Inherited from `object`

#### Syntax

```csharp theme={"dark"}
public virtual string ToString()
```

#### Returns

Type: `string?`


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.