QuickOPC User's Guide and Reference
UAQualifiedName Class
Members 



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.AddressSpace Namespace : UAQualifiedName Class
An OPC-UA name qualified by a namespace.
Object Model
UAQualifiedName ClassUAQualifiedName Class
Syntax
'Declaration
 
<CLSCompliantAttribute(True)>
<ComDefaultInterfaceAttribute(OpcLabs.EasyOpc.UA.AddressSpace.ComTypes._UAQualifiedName)>
<ComVisibleAttribute(True)>
<GuidAttribute("2673FDA6-CDA0-41D4-9D2F-BFD1B99EAACA")>
<TypeConverterAttribute(OpcLabs.EasyOpc.UA.AddressSpace.Implementation.UAQualifiedNameConverter)>
<ValueControlAttribute("OpcLabs.BaseLib.Forms.Common.ObjectSerializationControl, OpcLabs.BaseLibForms, Version=5.72.465.1, Culture=neutral, PublicKeyToken=6faddca41dacb409", 
   DefaultReadWrite=False, 
   Export=True, 
   PageId=10001)>
<SerializableAttribute()>
Public NotInheritable Class UAQualifiedName 
   Inherits UANamespaceQualified
   Implements LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._Object2, OpcLabs.EasyOpc.UA.AddressSpace.ComTypes._UANamespaceQualified, OpcLabs.EasyOpc.UA.AddressSpace.ComTypes._UAQualifiedName, IUAQualifiedName, System.ICloneable, System.IComparable, System.IComparable(Of UANamespaceQualified), System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable 
'Usage
 
Dim instance As UAQualifiedName
[CLSCompliant(true)]
[ComDefaultInterface(OpcLabs.EasyOpc.UA.AddressSpace.ComTypes._UAQualifiedName)]
[ComVisible(true)]
[Guid("2673FDA6-CDA0-41D4-9D2F-BFD1B99EAACA")]
[TypeConverter(OpcLabs.EasyOpc.UA.AddressSpace.Implementation.UAQualifiedNameConverter)]
[ValueControl("OpcLabs.BaseLib.Forms.Common.ObjectSerializationControl, OpcLabs.BaseLibForms, Version=5.72.465.1, Culture=neutral, PublicKeyToken=6faddca41dacb409", 
   DefaultReadWrite=false, 
   Export=true, 
   PageId=10001)]
[Serializable()]
public sealed class UAQualifiedName : UANamespaceQualified, LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._Object2, OpcLabs.EasyOpc.UA.AddressSpace.ComTypes._UANamespaceQualified, OpcLabs.EasyOpc.UA.AddressSpace.ComTypes._UAQualifiedName, IUAQualifiedName, System.ICloneable, System.IComparable, System.IComparable<UANamespaceQualified>, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable  
[CLSCompliant(true)]
[ComDefaultInterface(OpcLabs.EasyOpc.UA.AddressSpace.ComTypes._UAQualifiedName)]
[ComVisible(true)]
[Guid("2673FDA6-CDA0-41D4-9D2F-BFD1B99EAACA")]
[TypeConverter(OpcLabs.EasyOpc.UA.AddressSpace.Implementation.UAQualifiedNameConverter)]
[ValueControl("OpcLabs.BaseLib.Forms.Common.ObjectSerializationControl, OpcLabs.BaseLibForms, Version=5.72.465.1, Culture=neutral, PublicKeyToken=6faddca41dacb409", 
   DefaultReadWrite=false, 
   Export=true, 
   PageId=10001)]
[Serializable()]
public ref class UAQualifiedName sealed : public UANamespaceQualified, LINQPad.ICustomMemberProvider, OpcLabs.BaseLib.ComTypes._Info, OpcLabs.BaseLib.ComTypes._Object2, OpcLabs.EasyOpc.UA.AddressSpace.ComTypes._UANamespaceQualified, OpcLabs.EasyOpc.UA.AddressSpace.ComTypes._UAQualifiedName, IUAQualifiedName, System.ICloneable, System.IComparable, System.IComparable<UANamespaceQualified>, System.Runtime.Serialization.ISerializable, System.Xml.Serialization.IXmlSerializable  
Remarks

The qualified name comprises of a namespace, and a text portion (a name). The qualified name is used, for example, as BrowseName (e.g. in UANodeElement.BrowseName).

 

In This Topic

In OPC-UA, the qualified name comprises of a namespace, and a text portion (a name). The qualified name is used, for example, as browse name (i.e. it is one of the information pieces that you obtain for a node when browsing nodes in the OPC-UA address space). In the opposite direction (from your application to the server), qualified names are used in OPC-UA browse paths, to specify the target node of each element in the browse path.

QuickOPC-UA has a UAQualifiedName object for representing the qualified names. You can access individual parts of the qualified name by corresponding properties on this object (namely, the NamespaceUriString and Name properties). The ExpandedText property contains a string that fully specifies the qualified name, borrowing a syntax used for expanded node IDs described in an earlier article (except that in this case, the “identifier” part is always of a string type).

In QuickOPC, when formatting the expanded text of OPC UA Node IDs and qualified names, the namespace URI (the text after "nsu=") is separated with an additional space from the following semicolon, allowing the URI be easily separated by tools that are not aware of the specific syntax of OPC UA Node IDs and qualified names. Similarly, any trailing whitespace in the namespace URI part (the text after "nsu=") is ignored when parsing the OPC UA Node IDs and qualified names.

Standard qualified names

QuickOPC-UA provides a static class with standard qualified names defined by OPC Foundation: UABrowseNames. You can use properties of this static class to easily specify “well-known” browse names you need to refer to. For example, the “SessionsDiagnosticsSummary” browse name is defined by the  UABrowseNames.SessionsDiagnosticsSummary property, and you can pass the value of this property to any method that expects UAQualifiedName on input.

 

Inheritance Hierarchy

System.Object
   OpcLabs.BaseLib.Object2
      OpcLabs.BaseLib.Info
         OpcLabs.EasyOpc.UA.AddressSpace.UANamespaceQualified
            OpcLabs.EasyOpc.UA.AddressSpace.UAQualifiedName

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