public override void Process(IVisitorProcessor <MyVisitorContext> processor, MyVisitorContext context, CompositeCommand command) { context.Increment(); if (command.HoistedCommands != null) { foreach (ICommand cmd in command.HoistedCommands) { processor.Process(context, cmd); } } if (command.Commands != null) { foreach (ICommand cmd in command.Commands) { processor.Process(context, cmd); } } }
public void Process(IVisitorProcessor <C> processor, C context, object element) { this.Process(processor, context, (T)element); }
public abstract void Process(IVisitorProcessor <C> processor, C context, T element);
public override void Process(IVisitorProcessor <MyVisitorContext> processor, MyVisitorContext context, VarCommand command) { context.Increment(); }