Opc.Ua.Server.CustomNodeManager2.AddReferences C# (CSharp) Method

AddReferences() public method

This method is used to add bi-directional references to nodes from other node managers.
The additional references are optional, however, the NodeManager should support them.
public AddReferences ( IDictionary references ) : void
references IDictionary
return void
        public virtual void AddReferences(IDictionary<NodeId, IList<IReference>> references)
        {
            lock (Lock)
            {
                foreach (KeyValuePair<NodeId, IList<IReference>> current in references)
                {
                    // get the handle.
                    NodeHandle source = GetManagerHandle(m_systemContext, current.Key, null);

                    // only support external references to nodes that are stored in memory.
                    if (source == null || !source.Validated || source.Node == null)
                    {
                        return;
                    }
                    
                    // add reference to external target.
                    foreach (IReference reference in current.Value)
                    {
                        if (!source.Node.ReferenceExists(reference.ReferenceTypeId, reference.IsInverse, reference.TargetId))
                        {
                            source.Node.AddReference(reference.ReferenceTypeId, reference.IsInverse, reference.TargetId);
                        }
                    }
                }
            }
        }
        
CustomNodeManager2