示例#1
0
        public IContainerNode <TState> When(Func <TReturn, bool> when)
        {
            var node = Nodes.AddContainerNode();

            _conditions.Add(node, when);
            return(node);
        }
示例#2
0
        public IContainerNode <TState> Otherwise()
        {
            var node = Nodes.AddContainerNode();

            var nodesWithConditions = Nodes.Intersect(_conditions.Keys).ToList();

            _conditions.Add(node, result => !nodesWithConditions.Any(n => _conditions[n](result)));

            return(node);
        }