# OpcClassicApplicationDescription Members

> Reference: Represents the description of an OPC Classic server identified by its class identifier and program identifier on a host.

<dl class="api-definition">
<dt>Type</dt>
<dd><a href="./">OpcClassicApplicationDescription</a></dd>
<dt>Namespace</dt>
<dd><a href="../namespaces/opc.uafx.classic">Opc.UaFx.Classic</a></dd>
<dt>Assembly</dt>
<dd>Opc.UaFx.Advanced.dll</dd>
<dt>Package</dt>
<dd>Opc.UaFx.Advanced v2.59.0</dd>
</dl>

## Constructors

### OpcClassicApplicationDescription

<span class="api-meta">3 overloads</span>

| Overload | Description |
|---|---|
| [OpcClassicApplicationDescription(Guid)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.classic.opcclassicapplicationdescription/members#opcclassicapplicationdescription-system-guid) | Initializes a new instance of the [OpcClassicApplicationDescription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.classic.opcclassicapplicationdescription/) class using the specified `classId` of a server on the local host. |
| [OpcClassicApplicationDescription(Guid, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.classic.opcclassicapplicationdescription/members#opcclassicapplicationdescription-system-guid-system-string) | Initializes a new instance of the [OpcClassicApplicationDescription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.classic.opcclassicapplicationdescription/) class using the specified `classId` and `progId` of a server on the local host. |
| [OpcClassicApplicationDescription(Guid, string, string)](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.classic.opcclassicapplicationdescription/members#opcclassicapplicationdescription-system-guid-system-string-system-string) | Initializes a new instance of the [OpcClassicApplicationDescription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.classic.opcclassicapplicationdescription/) class using the specified `classId`, `progId` and `host`. |

#### OpcClassicApplicationDescription(Guid)

Initializes a new instance of the [OpcClassicApplicationDescription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.classic.opcclassicapplicationdescription/) class using the specified `classId` of a server on the local host.

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

```csharp
public OpcClassicApplicationDescription(Guid classId)
```

</div>

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

```vbnet
Public Sub New(classId As Guid)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `classId` | [Guid](https://learn.microsoft.com/dotnet/api/system.guid) | The class identifier (CLSID) of the server. |

#### OpcClassicApplicationDescription(Guid, string)

Initializes a new instance of the [OpcClassicApplicationDescription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.classic.opcclassicapplicationdescription/) class using the specified `classId` and `progId` of a server on the local host.

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

```csharp
public OpcClassicApplicationDescription(Guid classId, string progId)
```

</div>

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

```vbnet
Public Sub New(classId As Guid, progId As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `classId` | [Guid](https://learn.microsoft.com/dotnet/api/system.guid) | The class identifier (CLSID) of the server. |
| `progId` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The program identifier (ProgID) of the server, or a null reference (Nothing in Visual Basic) if it is not known. |

#### OpcClassicApplicationDescription(Guid, string, string)

Initializes a new instance of the [OpcClassicApplicationDescription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.classic.opcclassicapplicationdescription/) class using the specified `classId`, `progId` and `host`.

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

```csharp
public OpcClassicApplicationDescription(
    Guid classId,
    string progId,
    string host)
```

</div>

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

```vbnet
Public Sub New(classId As Guid, progId As String, host As String)
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `classId` | [Guid](https://learn.microsoft.com/dotnet/api/system.guid) | The class identifier (CLSID) of the server. |
| `progId` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The program identifier (ProgID) of the server, or a null reference (Nothing in Visual Basic) if it is not known. |
| `host` | [String](https://learn.microsoft.com/dotnet/api/system.string) | The name of the host of the server, or a null reference (Nothing in Visual Basic) or an empty string for "localhost". |

**Remarks**

The [Uri](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.classic.opcclassicapplicationdescription/members#uri) of the description uses the scheme "opc.com", the host and the path "progId/{classId}", or only "{classId}" without a program identifier.

## Properties

### ClassId

Gets the class identifier of the server.

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

```csharp
public Guid ClassId { get; }
```

</div>

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

```vbnet
Public ReadOnly Property ClassId As Guid
```

</div>

**Property value**

[Guid](https://learn.microsoft.com/dotnet/api/system.guid)

The class identifier (CLSID) of the server.

### Host

Gets the name of the host of the server.

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

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

</div>

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

```vbnet
Public ReadOnly Property Host As String
```

</div>

**Property value**

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

The name of the host of the server; "localhost" if none has been specified.

### HostIdentity

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

Gets or sets the identity used to authenticate at the host of the server using DCOM.

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

```csharp
public OpcClassicIdentity HostIdentity { get; set; }
```

</div>

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

```vbnet
Public Property HostIdentity As OpcClassicIdentity
```

</div>

**Property value**

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

The [OpcClassicIdentity](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.classic.opcclassicidentity/) to use, or a null reference (Nothing in Visual Basic) to use the identity of the process.

### Name

Gets or sets the display name of the server.

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

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

</div>

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

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

</div>

**Property value**

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

The display name of the server; by default the [ProgId](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.classic.opcclassicapplicationdescription/members#progid) with spaces instead of dots, or a null reference (Nothing in Visual Basic) without a program identifier.

### ProgId

Gets the program identifier of the server.

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

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

</div>

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

```vbnet
Public ReadOnly Property ProgId As String
```

</div>

**Property value**

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

The version independent program identifier of the server, if known; otherwise its program identifier (ProgID), or a null reference (Nothing in Visual Basic) if it is not known.

### Uri

Gets the URI which identifies the server.

<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 of the scheme "opc.com" which identifies the server on its host.

## Methods

### Create

<span class="api-meta">static</span>

Creates a description of the server identified by the `uri` specified.

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

```csharp
public static OpcClassicApplicationDescription Create(Uri uri)
```

</div>

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

```vbnet
Public Shared Function Create(uri As Uri) As OpcClassicApplicationDescription
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `uri` | [Uri](https://learn.microsoft.com/dotnet/api/system.uri) | The URI of the scheme "opc.com" whose path specifies the class identifier, or the program identifier and the class identifier separated by a slash. |

**Returns**

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

A new [OpcClassicApplicationDescription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.classic.opcclassicapplicationdescription/) of the server.

**Exceptions**

| Exception | Condition |
|---|---|
| [ArgumentException](https://learn.microsoft.com/dotnet/api/system.argumentexception) | The `uri` is not of the scheme "opc.com" or its path does not specify a class identifier. |
| [ArgumentNullException](https://learn.microsoft.com/dotnet/api/system.argumentnullexception) | The `uri` is a null reference (Nothing in Visual Basic). |

### TryCreate

<span class="api-meta">static</span>

Tries to create a description of the server identified by the `uri` specified.

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

```csharp
public static bool TryCreate(
    Uri uri,
    out OpcClassicApplicationDescription result)
```

</div>

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

```vbnet
Public Shared Function TryCreate(
    uri As Uri,
    result As OpcClassicApplicationDescription) As Boolean
```

</div>

**Parameters**

| Name | Type | Description |
|---|---|---|
| `uri` | [Uri](https://learn.microsoft.com/dotnet/api/system.uri) | The URI of the scheme "opc.com" whose path specifies the class identifier, or the program identifier and the class identifier separated by a slash. |
| `result` | out [OpcClassicApplicationDescription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.classic.opcclassicapplicationdescription/) | The [OpcClassicApplicationDescription](https://www.traeger.de/en/docs/development/opcua/api/v2.59/opc.uafx.classic.opcclassicapplicationdescription/) created, or a null reference (Nothing in Visual Basic) if the `uri` does not identify a server. |

**Returns**

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

The value true if the description has been created; otherwise the value false, also if the `uri` is a null reference (Nothing in Visual Basic).
