예제 #1
0
        public void Accept(IFigureVisitor visitor)
        {
            if (ReferenceEquals(visitor, null))
            {
                throw new ArgumentNullException(nameof(visitor));
            }

            visitor.Visit((dynamic)this);
        }
예제 #2
0
        public void Visit(IFigureVisitor visitor)
        {
            visitor.VisitFigure(this);

            foreach (IFigure figure in FiguresEnumerator)
            {
                figure.Visit(visitor);
            }

            foreach (IHandle handle in HandlesEnumerator)
            {
                visitor.VisitHandle(handle);
            }
        }
예제 #3
0
 public abstract void Accept(IFigureVisitor visitor);
예제 #4
0
 public override void Accept(IFigureVisitor visitor)
 {
     visitor?.Visit(this);
 }
		public void Visit (IFigureVisitor visitor) {
			visitor.VisitFigure (this);

			foreach (IFigure figure in FiguresEnumerator) {
				figure.Visit (visitor);
			}
			
			foreach (IHandle handle in HandlesEnumerator) {
				visitor.VisitHandle (handle);
			}
		}
예제 #6
0
 /// <summary>
 /// Accepts visitor instance
 /// </summary>
 /// <param name="visitor">Visitor instance for accepting</param>
 public void Accept(IFigureVisitor visitor)
 {
     visitor.Visit((dynamic)this);
 }
예제 #7
0
        public virtual void AcceptVisitor(IFigureVisitor visitor)
        {
            visitor.VisitFigure (this);

            foreach (Figure figure in Children)
                figure.AcceptVisitor (visitor);

            foreach (IHandle handle in Handles)
                visitor.VisitHandle (handle);
        }