QuickOPC User's Guide and Reference
RequiredFieldValueDictionary Property (_UASubscribeDataSetFilter)



OpcLabs.EasyOpcUA Assembly > OpcLabs.EasyOpc.UA.PubSub.ComTypes Namespace > _UASubscribeDataSetFilter Interface : RequiredFieldValueDictionary Property
Specifies filtering by given field values.
Syntax
'Declaration
 
<ElementsCanBeNullAttribute()>
<NotNullAttribute()>
Property RequiredFieldValueDictionary As StringObjectDictionary
'Usage
 
Dim instance As _UASubscribeDataSetFilter
Dim value As StringObjectDictionary
 
instance.RequiredFieldValueDictionary = value
 
value = instance.RequiredFieldValueDictionary
[ElementsCanBeNull()]
[NotNull()]
StringObjectDictionary RequiredFieldValueDictionary {get; set;}
[ElementsCanBeNull()]
[NotNull()]
property StringObjectDictionary^ RequiredFieldValueDictionary {
   StringObjectDictionary^ get();
   void set (    StringObjectDictionary^ value);
}
Remarks

The functionality of required fields is implemented using UA PubSub promoted fields concept, whenever possible. In absence of promoted fields from the message, the filtering by required field values still takes place, but is performed after the whole message is parsed, which is less effective. A combined approach is possible as well: Some required fields might map to promoted fields and be evaluated early, while others only after the whole message is parsed.

Required fields can be specified using their names, or indexes, or a combination of both. Names in the form of "#n", where n is a decimal non-negative integer, are indexes (first field has index 0). Fields with true name that starts with "#" need to use "##" at the beginning instead.

Some message mappings (e.g. UADP) natively use indexes, some message mappings (e.g. JSON) natively use names. When you specify the required field using their native form for the message mapping, they can be directly evaluated. Otherwise, dataset metadata (directly provided, or obtained through resolution) is required in order to interpret the required fields.

The same field can be specified using both its name and index. In order to maintain logical consistency, the developer is responsible for specifying the same filtering value for it in both cases.

Field indexes without field names should only be used as last resort, e.g. with UADP message mapping and no dataset metadata available.

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