OPC Studio User's Guide and Reference
StartingNodeDescriptor Property (UABrowsePath)



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.Navigation Namespace > UABrowsePath Class : StartingNodeDescriptor Property
The starting node descriptor of the browse path.
Syntax
'Declaration
 
Public Property StartingNodeDescriptor As UANodeDescriptor
'Usage
 
Dim instance As UABrowsePath
Dim value As UANodeDescriptor
 
instance.StartingNodeDescriptor = value
 
value = instance.StartingNodeDescriptor
public UANodeDescriptor StartingNodeDescriptor {get; set;}
public:
property UANodeDescriptor^ StartingNodeDescriptor {
   UANodeDescriptor^ get();
   void set (    UANodeDescriptor^ value);
}

Property Value

This value of this property can be null (Nothing in Visual Basic).

The default value of this property is null.

Because there are implicit conversions to UANamedNodeDescriptor and UANamedNodePath from OpcLabs.EasyOpc.UA.UANodeDescriptor, in languages that support implicit conversion operators (such as C# or VB.NET), you can simply use the returned OpcLabs.EasyOpc.UA.UANodeDescriptor in any place where UANamedNodeDescriptor is expected (in this case the OpcLabs.EasyOpc.UA.UANodeDescriptor contains the final node descriptor) or where UANamedNodePath is expected (in this case the OpcLabs.EasyOpc.UA.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 UANamedNodeDescriptor.FromUANodeDescriptor or UANamedNodePath.FromUANodeDescriptor static method instead.

Remarks

For most usages, it would be sufficient to determine the starting node by the StartingNodeId. The OpcLabs.EasyOpc.UA.UANodeDescriptor and its ability to use yet another browse path in determining the starting node of the browse path is, however, necessary for features required from object aliasing, namely the ability to "nest" the aliases that provide the "root" for OPC UA mapping.

As opposed to many other places, here the absence of a starting node is indicated by a null reference, and not a OpcLabs.EasyOpc.UA.UANodeDescriptor.Null value. This is necessary in order to avoid a reference cycle with a Null browse path.

The getter method of this property is pure, i.e. it does not have observable side effects.

This method or property does not throw any exceptions, aside from execution exceptions such as System.Threading.ThreadAbortException or System.OutOfMemoryException.

Because the OpcLabs.EasyOpc.UA.UANodeDescriptor has implicit conversions from OpcLabs.EasyOpc.UA.AddressSpace.UANodeId, OpcLabs.EasyOpc.UA.AddressSpace.UANodeElement, 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), UABrowsePath object (representing OPC UA absolute browse path), or a string (with expanded node Id text) in place of OpcLabs.EasyOpc.UA.UANodeDescriptor value when setting this property, 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 OpcLabs.EasyOpc.UA.UANodeDescriptor.FromString, OpcLabs.EasyOpc.UA.UANodeDescriptor.FromUABrowsePath, OpcLabs.EasyOpc.UA.UANodeDescriptor.FromUANodeElement or OpcLabs.EasyOpc.UA.UANodeDescriptor.FromUANodeId static method instead.

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