Skip to content

NodeVisitor<TBaseNode, TNode, TResult> Class ​

Definition ​

A Visitor<TNode, TResult> that only visits nodes of a specific type and does not take a context object. Visiting a node of any other type calls VisitUnhandledNode(TBaseNode), which throws by default. Typed visitors are usually combined in a CompositeVisitor<TBaseNode, TResult>, which dispatches each node to the visitor for its type.

c#
public abstract class NodeVisitor<TBaseNode, TNode, TResult> : Visitor<TBaseNode, TResult>
   where TBaseNode : Node<TBaseNode>
   where TNode : TBaseNode

View source

Type Parameters ​

NameDescription
TBaseNodeThe base type of all nodes in the tree.
TNodeThe type of the nodes to visit.
TResultThe type of the result of visiting a node.

Constructors ​

NameDescription
NodeVisitor()

Methods ​

NameDescription
VisitNode(TBaseNode)Called to visit a node.
VisitNode(TNode)Called to visit a node of type TNode.
VisitUnhandledNode(TBaseNode)Called to visit a node that is not of type TNode. Throws an InvalidOperationException by default; override to return a fallback value instead.