
# IPCB_ExpressionManager interface

*No description yet.*

```csharp
public interface IPCB_ExpressionManager
```

**Namespace:** PCB · **Assembly:** Altium.SDK.Interfaces

## Methods

| Method | Returns | Description |
| --- | --- | --- |
| [ExecRuleExpression](#execruleexpression) | `bool` |  |
| [HighlightByExpression](#highlightbyexpression) | `bool` |  |
| [IsExpressionValid](#isexpressionvalid) | `bool` |  |
| [ShowExpressionBuilder](#showexpressionbuilder) | `bool` |  |
| [ShowExpressionHelper](#showexpressionhelper) | `bool` |  |

### ExecRuleExpression

*No description yet.*

```csharp
bool ExecRuleExpression(string argExpression, IPCB_Board argBoard, TRuleKind argRuleKind, out int argffectedObjects);
bool ExecRuleExpression(string argExpression, object argBoard, int argRuleKind, out int argffectedObjects);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argExpression` | `string` | value |
| `argBoard` | [IPCB_Board](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Board.md) | value |
| `argRuleKind` | [TRuleKind](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/TRuleKind.md) | value |
| `argffectedObjects` | `int` | out |

**Returns:** `bool`

The first overload is an extension method of `IPCB_ExpressionManagerHelper` (`using PCB;`) with typed parameters; the second is declared by the interface.

### HighlightByExpression

*No description yet.*

```csharp
bool HighlightByExpression(string argExpression, IPCB_Board argBoard, THighlightMethodSet argHighlightMethods);
bool HighlightByExpression(string argExpression, object argBoard, ITransportSet argHighlightMethods);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argExpression` | `string` | value |
| `argBoard` | [IPCB_Board](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Board.md) | value |
| `argHighlightMethods` | [THighlightMethodSet](https://altiumdeveloper.github.io/ad-sdk-docs/reference/edp/THighlightMethodSet.md) | value |

**Returns:** `bool`

The first overload is an extension method of `IPCB_ExpressionManagerHelper` (`using PCB;`) with typed parameters; the second is declared by the interface.

### IsExpressionValid

*No description yet.*

```csharp
bool IsExpressionValid(string argExpression, IPCB_Board argBoard, out int argErrLine, out int argErrChar, out string argErrMessage);
bool IsExpressionValid(string argExpression, object argBoard, out int argErrLine, out int argErrChar, out string argErrMessage);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argExpression` | `string` | value |
| `argBoard` | [IPCB_Board](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Board.md) | value |
| `argErrLine` | `int` | out |
| `argErrChar` | `int` | out |
| `argErrMessage` | `string` | out |

**Returns:** `bool`

The first overload is an extension method of `IPCB_ExpressionManagerHelper` (`using PCB;`) with typed parameters; the second is declared by the interface.

### ShowExpressionBuilder

*No description yet.*

```csharp
bool ShowExpressionBuilder(IPCB_Board argBoard, out string argResExpression);
bool ShowExpressionBuilder(object argBoard, out string argResExpression);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argBoard` | [IPCB_Board](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Board.md) | value |
| `argResExpression` | `string` | out |

**Returns:** `bool`

The first overload is an extension method of `IPCB_ExpressionManagerHelper` (`using PCB;`) with typed parameters; the second is declared by the interface.

### ShowExpressionHelper

*No description yet.*

```csharp
bool ShowExpressionHelper(string argExpression, IPCB_Board argBoard, out string argResExpression);
bool ShowExpressionHelper(string argExpression, object argBoard, out string argResExpression);
```

| Parameter | Type | Passing |
| --- | --- | --- |
| `argExpression` | `string` | value |
| `argBoard` | [IPCB_Board](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_Board.md) | value |
| `argResExpression` | `string` | out |

**Returns:** `bool`

The first overload is an extension method of `IPCB_ExpressionManagerHelper` (`using PCB;`) with typed parameters; the second is declared by the interface.

## Returned by

[IPCB_BoardEx.GetExpressionManager](https://altiumdeveloper.github.io/ad-sdk-docs/reference/pcb/IPCB_BoardEx.md#getexpressionmanager)
