示例#1
0
        public static IBinaryTree <TResult> Select <TResult, T>(
            this IBinaryTree <T> tree,
            Func <T, TResult> selector)
        {
            if (tree == null)
            {
                throw new ArgumentNullException(nameof(tree));
            }
            if (selector == null)
            {
                throw new ArgumentNullException(nameof(selector));
            }

            var visitor = new SelectBinaryTreeVisitor <T, TResult>(selector);

            return(tree.Accept(visitor));
        }