diff --git a/Applications/Quickstarts.Servers/SampleNodeManager/SampleNodeManager.cs b/Applications/Quickstarts.Servers/SampleNodeManager/SampleNodeManager.cs index 3b94e5d02..9b495ab6b 100644 --- a/Applications/Quickstarts.Servers/SampleNodeManager/SampleNodeManager.cs +++ b/Applications/Quickstarts.Servers/SampleNodeManager/SampleNodeManager.cs @@ -506,7 +506,7 @@ protected virtual void AddPredefinedNode(ISystemContext context, NodeState node) LocalReference referenceToRemove = new LocalReference( (NodeId)reference.TargetId, reference.ReferenceTypeId, - reference.IsInverse, + !reference.IsInverse, node.NodeId); referencesToRemove.Add(referenceToRemove); diff --git a/Libraries/Opc.Ua.Server/Diagnostics/CustomNodeManager.cs b/Libraries/Opc.Ua.Server/Diagnostics/CustomNodeManager.cs index 405a9d174..ea75e4134 100644 --- a/Libraries/Opc.Ua.Server/Diagnostics/CustomNodeManager.cs +++ b/Libraries/Opc.Ua.Server/Diagnostics/CustomNodeManager.cs @@ -705,7 +705,7 @@ protected virtual void AddPredefinedNode(ISystemContext context, NodeState node) LocalReference referenceToRemove = new LocalReference( (NodeId)reference.TargetId, reference.ReferenceTypeId, - reference.IsInverse, + !reference.IsInverse, node.NodeId); referencesToRemove.Add(referenceToRemove); diff --git a/Libraries/Opc.Ua.Server/NodeManager/MasterNodeManager.cs b/Libraries/Opc.Ua.Server/NodeManager/MasterNodeManager.cs index b2f3f442a..28ec4b5f0 100644 --- a/Libraries/Opc.Ua.Server/NodeManager/MasterNodeManager.cs +++ b/Libraries/Opc.Ua.Server/NodeManager/MasterNodeManager.cs @@ -657,8 +657,7 @@ public void RemoveReferences(List referencesToRemove) LocalReference reference = referencesToRemove[ii]; // find source node. - INodeManager nodeManager = null; - object sourceHandle = GetManagerHandle(reference.SourceId, out nodeManager); + object sourceHandle = GetManagerHandle(reference.SourceId, out INodeManager nodeManager); if (sourceHandle == null) { diff --git a/Stack/Opc.Ua.Core/Stack/State/NodeState.cs b/Stack/Opc.Ua.Core/Stack/State/NodeState.cs index f35cf297b..a0c0a5220 100644 --- a/Stack/Opc.Ua.Core/Stack/State/NodeState.cs +++ b/Stack/Opc.Ua.Core/Stack/State/NodeState.cs @@ -2347,10 +2347,7 @@ public void SetAreEventsMonitored(ISystemContext context, bool areEventsMonitore /// The event to report. public virtual void ReportEvent(ISystemContext context, IFilterTarget e) { - if (OnReportEvent != null) - { - OnReportEvent(context, this, e); - } + OnReportEvent?.Invoke(context, this, e); // report event to notifier sources. if (m_notifiers != null) @@ -2498,10 +2495,7 @@ public virtual void RemoveNotifier(ISystemContext context, NodeState target, boo /// Whether to recursively report events for the children. public virtual void ConditionRefresh(ISystemContext context, List events, bool includeChildren) { - if (OnConditionRefresh != null) - { - OnConditionRefresh(context, this, events); - } + OnConditionRefresh?.Invoke(context, this, events); if (includeChildren) { @@ -2581,15 +2575,9 @@ public void ClearChangeMasks(ISystemContext context, bool includeChildren) if (m_changeMasks != NodeStateChangeMasks.None) { - if (OnStateChanged != null) - { - OnStateChanged(context, this, m_changeMasks); - } + OnStateChanged?.Invoke(context, this, m_changeMasks); - if (StateChanged != null) - { - StateChanged(context, this, m_changeMasks); - } + StateChanged?.Invoke(context, this, m_changeMasks); m_changeMasks = NodeStateChangeMasks.None; } @@ -2912,10 +2900,7 @@ public virtual bool Validate(ISystemContext context) PopulateBrowser(context, browser); - if (OnPopulateBrowser != null) - { - OnPopulateBrowser(context, this, browser); - } + OnPopulateBrowser?.Invoke(context, this, browser); return browser; } @@ -4472,25 +4457,11 @@ public void RemoveChild(BaseInstanceState child) return false; } - NodeStateReference sourceRef = null; - - foreach (var m_refKey in m_references.Keys) + if (m_references.Remove(new NodeStateReference(referenceTypeId, isInverse, targetId))) { - if (m_refKey.TargetId != null && m_refKey.TargetId.IdentifierText.Equals(targetId.IdentifierText)) - { - sourceRef = m_refKey as NodeStateReference; - break; - } - } - - if (sourceRef != null) - { - if (m_references.Remove(sourceRef)) - { - m_changeMasks |= NodeStateChangeMasks.References; - OnReferenceRemoved?.Invoke(this, referenceTypeId, isInverse, targetId); - return true; - } + m_changeMasks |= NodeStateChangeMasks.References; + OnReferenceRemoved?.Invoke(this, referenceTypeId, isInverse, targetId); + return true; } return false;