# IOpcNodeModellingOrder Members

> Reference: Provides the modelling rule of an instance, which defines whether the instance exists in each instance of the type declaring it.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">IOpcNodeModellingOrder</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>
<dt>Also in</dt>
<dd>Opc.UaFx.Client</dd>
</dl>

## Properties

### IsOptional

Gets a value indicating whether the instance might not necessarily exist.

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

```csharp
bool IsOptional { get; }
```

</div>

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

```vbnet
ReadOnly Property IsOptional As Boolean
```

</div>

**Property value**

[Boolean](https://learn.microsoft.com/dotnet/api/system.boolean)

The value true if the instance might not always exists; otherwise the value false.

### Rule

Gets the modelling rule of the instance.

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

```csharp
OpcModellingRule? Rule { get; }
```

</div>

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

```vbnet
ReadOnly Property Rule As OpcModellingRule?
```

</div>

**Property value**

[Nullable](https://learn.microsoft.com/dotnet/api/system.nullable-1)&lt;[OpcModellingRule](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodellingrule/)&gt;

One of the members defined by the [OpcModellingRule](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodellingrule/) enumeration, or a null reference (Nothing in Visual Basic) if the instance has no modelling rule or it can't be determined.
