# OpcModel Members

> Reference: Describes a specific model along with any dependencies these model have.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcModel</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

### Name

Gets the name of the model which is constructed from the [LocalPath](https://learn.microsoft.com/dotnet/api/system.uri.localpath) of the [Uri](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodel/members#uri) associated with the model represented.

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

```csharp
public string Name { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Name As String
```

</div>

**Property value**

[String](https://learn.microsoft.com/dotnet/api/system.string)

The name of the model derived from the [Uri](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodel/members#uri).

### PublicationDate

Gets the date and time when the model was published.

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

```csharp
public DateTime? PublicationDate { get; }
```

</div>

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

```vbnet
Public ReadOnly Property PublicationDate As Date?
```

</div>

**Property value**

[Nullable](https://learn.microsoft.com/dotnet/api/system.nullable-1)&lt;[DateTime](https://learn.microsoft.com/dotnet/api/system.datetime)&gt;

The [DateTime](https://learn.microsoft.com/dotnet/api/system.datetime) the model was published or a null reference (Nothing in Visual Basic) in case there the model does not define a publication date.

**Remarks**

This value is used for comparison if the model is defined in multiple node sets.

### RequiredModels

Gets a read-only collection of [OpcModel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodel/) instances used to refer to subsequent models which are required by the model.

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

```csharp
public OpcReadOnlyModelCollection RequiredModels { get; }
```

</div>

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

```vbnet
Public ReadOnly Property RequiredModels As OpcReadOnlyModelCollection
```

</div>

**Property value**

[OpcReadOnlyModelCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadonlymodelcollection/)

An instance of the [OpcReadOnlyModelCollection](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcreadonlymodelcollection/) class with the [OpcModel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodel/) instances which describe the models required by the current [OpcModel](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodel/).

### Uri

Gets the uniform resource identifier of the model.

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

```csharp
public Uri Uri { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Uri As Uri
```

</div>

**Property value**

[Uri](https://learn.microsoft.com/dotnet/api/system.uri)

The [Uri](https://learn.microsoft.com/dotnet/api/system.uri) identifying the model.

**Remarks**

The [Uri](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodel/members#uri) should be used as one of the namespaces in the address spaces the model is imported.

### UriValue

Gets [string](https://learn.microsoft.com/dotnet/api/system.string) representation of the [Uri](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodel/members#uri).

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

```csharp
public string UriValue { get; }
```

</div>

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

```vbnet
Public ReadOnly Property UriValue As String
```

</div>

**Property value**

[String](https://learn.microsoft.com/dotnet/api/system.string)

A [string](https://learn.microsoft.com/dotnet/api/system.string) representing the [Uri](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodel/members#uri) of the model.

### Version

Gets the programmatic comparable information derived from [VersionValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodel/members#versionvalue).

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

```csharp
public Version Version { get; }
```

</div>

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

```vbnet
Public ReadOnly Property Version As Version
```

</div>

**Property value**

[Version](https://learn.microsoft.com/dotnet/api/system.version)

An instance of the [Version](https://learn.microsoft.com/dotnet/api/system.version) class which offers the version information derived from [VersionValue](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodel/members#versionvalue) or "0.0" if no version information could be determined.

**Remarks**

In case there a minimum version of a model is required by a different one, the models [PublicationDate](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.opcmodel/members#publicationdate) is used to resolve these dependencies. The resolution of a required model shall accept any model after the date of publication.

### VersionValue

Gets the human readable version of the model defined in the node set.

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

```csharp
public string VersionValue { get; }
```

</div>

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

```vbnet
Public ReadOnly Property VersionValue As String
```

</div>

**Property value**

[String](https://learn.microsoft.com/dotnet/api/system.string)

The human readable version-[string](https://learn.microsoft.com/dotnet/api/system.string) of the model defined.

**Remarks**

This is a human readable [string](https://learn.microsoft.com/dotnet/api/system.string) which is not intended for programmatic comparisons.
