Пример #1
0
        public static IBinaryTreeNode <TResult> Select <TItem, TResult>(
            this IBinaryTreeNode <TItem> node,
            Func <TItem, TResult> selector)
        {
            if (node == null)
            {
                throw new ArgumentNullException(nameof(node));
            }

            if (selector == null)
            {
                throw new ArgumentNullException(nameof(selector));
            }

            var visitor = new SelectBinaryTreeNodeVisitor <TItem, TResult>(selector);

            return(node.Accept(visitor));
        }