OPC Studio User's Guide and Reference
Add Method (UANodeDescriptor)



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA Namespace > UANodeDescriptor Class : Add Method
The node descriptor object.

Because the UANodeDescriptor has implicit conversions from OpcLabs.EasyOpc.UA.AddressSpace.UANodeId, OpcLabs.EasyOpc.UA.AddressSpace.UANodeElement, OpcLabs.EasyOpc.UA.Navigation.UABrowsePath and System.String, in languages that support implicit conversion operators (such as C# or VB.NET), you can simply use a OpcLabs.EasyOpc.UA.AddressSpace.UANodeId object (representing the Id of the OPC UA node), a node element object (from OPC UA browsing), OpcLabs.EasyOpc.UA.Navigation.UABrowsePath object (representing OPC UA absolute browse path), or a string (with expanded node Id text) in place of this parameter, and the corresponding node descriptor will be constructed automatically. When the implicit conversion operators are not supported (such as with Python.NET), you can use the FromString, FromUABrowsePath, FromUANodeElement or FromUANodeId static method instead.

If you are using OPC Wizard (for server development), an implicit conversion from OpcLabs.EasyOpc.UA.NodeSpace.UAServerNode can be used in the same way to simply pass the server node in place of this parameter, which will use its OpcLabs.EasyOpc.UA.NodeSpace.UAServerNode.EffectiveNodeDescriptor property for the operation.

The value of this parameter cannot be null (Nothing in Visual Basic).

The browse path element.

Because the OpcLabs.EasyOpc.UA.Navigation.UABrowsePathElement has an implicit conversion from OpcLabs.EasyOpc.UA.AddressSpace.UAQualifiedName, in languages that support implicit conversion operators (such as C# or VB.NET), you can simply use a OpcLabs.EasyOpc.UA.AddressSpace.UAQualifiedName (containing a target qualified name, which becomes the "any hierarchical" forward reference) in place of this parameter, and the corresponding OPC UA browse path element will be constructed automatically. When the implicit conversion operators are not supported (such as with Python.NET), you can use the OpcLabs.EasyOpc.UA.Navigation.UABrowsePathElement.FromUAQualifiedName static method instead.

The value of this parameter cannot be null (Nothing in Visual Basic).

Adds a browse path element to a node descriptor.
Syntax
'Declaration
 
<NotNullAttribute()>
Public Shared Function Add( _
   ByVal nodeDescriptor As UANodeDescriptor, _
   ByVal browsePathElement As UABrowsePathElement _
) As UANodeDescriptor
'Usage
 
Dim nodeDescriptor As UANodeDescriptor
Dim browsePathElement As UABrowsePathElement
Dim value As UANodeDescriptor
 
value = UANodeDescriptor.Add(nodeDescriptor, browsePathElement)

Parameters

nodeDescriptor
The node descriptor object.

Because the UANodeDescriptor has implicit conversions from OpcLabs.EasyOpc.UA.AddressSpace.UANodeId, OpcLabs.EasyOpc.UA.AddressSpace.UANodeElement, OpcLabs.EasyOpc.UA.Navigation.UABrowsePath and System.String, in languages that support implicit conversion operators (such as C# or VB.NET), you can simply use a OpcLabs.EasyOpc.UA.AddressSpace.UANodeId object (representing the Id of the OPC UA node), a node element object (from OPC UA browsing), OpcLabs.EasyOpc.UA.Navigation.UABrowsePath object (representing OPC UA absolute browse path), or a string (with expanded node Id text) in place of this parameter, and the corresponding node descriptor will be constructed automatically. When the implicit conversion operators are not supported (such as with Python.NET), you can use the FromString, FromUABrowsePath, FromUANodeElement or FromUANodeId static method instead.

If you are using OPC Wizard (for server development), an implicit conversion from OpcLabs.EasyOpc.UA.NodeSpace.UAServerNode can be used in the same way to simply pass the server node in place of this parameter, which will use its OpcLabs.EasyOpc.UA.NodeSpace.UAServerNode.EffectiveNodeDescriptor property for the operation.

The value of this parameter cannot be null (Nothing in Visual Basic).

browsePathElement
The browse path element.

Because the OpcLabs.EasyOpc.UA.Navigation.UABrowsePathElement has an implicit conversion from OpcLabs.EasyOpc.UA.AddressSpace.UAQualifiedName, in languages that support implicit conversion operators (such as C# or VB.NET), you can simply use a OpcLabs.EasyOpc.UA.AddressSpace.UAQualifiedName (containing a target qualified name, which becomes the "any hierarchical" forward reference) in place of this parameter, and the corresponding OPC UA browse path element will be constructed automatically. When the implicit conversion operators are not supported (such as with Python.NET), you can use the OpcLabs.EasyOpc.UA.Navigation.UABrowsePathElement.FromUAQualifiedName static method instead.

The value of this parameter cannot be null (Nothing in Visual Basic).

Return Value

Returns a node descriptor made by adding a browsing path element to the original node descriptor.

Because there are implicit conversions to OpcLabs.EasyOpc.UA.Navigation.UANamedNodeDescriptor and OpcLabs.EasyOpc.UA.Navigation.UANamedNodePath from UANodeDescriptor, in languages that support implicit conversion operators (such as C# or VB.NET), you can simply use the returned UANodeDescriptor in any place where OpcLabs.EasyOpc.UA.Navigation.UANamedNodeDescriptor is expected (in this case the UANodeDescriptor contains the final node descriptor) or where OpcLabs.EasyOpc.UA.Navigation.UANamedNodePath is expected (in this case the UANodeDescriptor contains the base and only node in the named node path), and the corresponding OPC UA named node descriptor or named node path will be constructed automatically. When the implicit conversion operators are not supported (such as with Python.NET), you can use the OpcLabs.EasyOpc.UA.Navigation.UANamedNodeDescriptor.FromUANodeDescriptor or OpcLabs.EasyOpc.UA.Navigation.UANamedNodePath.FromUANodeDescriptor static method instead.

This method never returns null (Nothing in Visual Basic).

Exceptions
ExceptionDescription

A null reference (Nothing in Visual Basic) is passed to a method that does not accept it as a valid argument.

This is a usage error, i.e. it will never occur (the exception will not be thrown) in a correctly written program. Your code should not catch this exception.

Remarks

The resulting node descriptor always contains a browse path, and no node ID. The new browse path is constructed by adding the browse path element to the old browse path, if the original node descriptor contained only the browse path. In all other cases, the new browse path is constructed by adding the browse path element to the old node ID.

Requirements

Target Platforms: .NET Framework: Windows 10 (selected versions), Windows 11 (selected versions), Windows Server 2016, Windows Server 2022; .NET: Linux, macOS, Microsoft Windows

See Also