private NodeType GetNodeTypeFromConditionalNodeType(ConditionalNodeType type) { return(type switch { ConditionalNodeType.Test => NodeType.Test, ConditionalNodeType.IfTrue => NodeType.IfTrue, ConditionalNodeType.IfFalse => NodeType.IfFalse, _ => throw new ArgumentOutOfRangeException(nameof(type), type, null) });
private NodeType GetNodeTypeFromConditionalNodeType(ConditionalNodeType type) { switch (type) { case ConditionalNodeType.Test: return(NodeType.Test); case ConditionalNodeType.IfTrue: return(NodeType.IfTrue); case ConditionalNodeType.IfFalse: return(NodeType.IfFalse); default: throw new ArgumentOutOfRangeException(nameof(type), type, null); } }
internal void AddAffectedNode(ConditionalNodeType type, DependencyNode node) { if (type == ConditionalNodeType.None) { throw new InvalidOperationException($"Can not add a node that is {ConditionalNodeType.None} type to the affected node collection. "); } // The root node is the constant node, so it will never be updated. if (node.IsRoot) { return; } var nodeType = GetNodeTypeFromConditionalNodeType(type); if (!_allNodes.ContainsKey(node)) { _allNodes.Add(node, nodeType); } _allNodes[node] |= nodeType; }