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



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.Navigation.ComTypes Namespace > _UABrowsePath Interface : StartingNodeDescriptor Property
The starting node descriptor of the browse path.
Syntax
'Declaration
 
<CanBeNullAttribute()>
Property StartingNodeDescriptor As UANodeDescriptor
'Usage
 
Dim instance As _UABrowsePath
Dim value As UANodeDescriptor
 
instance.StartingNodeDescriptor = value
 
value = instance.StartingNodeDescriptor
[CanBeNull()]
UANodeDescriptor StartingNodeDescriptor {get; set;}
[CanBeNull()]
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 OpcLabs.EasyOpc.UA.Navigation.UANamedNodeDescriptor and OpcLabs.EasyOpc.UA.Navigation.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 OpcLabs.EasyOpc.UA.Navigation.UANamedNodeDescriptor is expected (in this case the OpcLabs.EasyOpc.UA.UANodeDescriptor contains the final node descriptor) or where OpcLabs.EasyOpc.UA.Navigation.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 FromUANodeDescriptor or 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.

Because the OpcLabs.EasyOpc.UA.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 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.

This member or type is for use from COM. It is not meant to be used from .NET or Python. Refer to the corresponding .NET member or type instead, if you are developing in .NET or Python.

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

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