MonoDevelop.Components.Commands.CommandManager.VisitCommandTargets C# (CSharp) 메소드

VisitCommandTargets() 공개 메소드

Visits the active command route
public VisitCommandTargets ( ICommandTargetVisitor visitor, object initialTarget ) : object
visitor ICommandTargetVisitor /// Visitor. ///
initialTarget object /// Initial target (provide null to use the default initial target) ///
리턴 object
		public object VisitCommandTargets (ICommandTargetVisitor visitor, object initialTarget)
		{
			CommandTargetRoute targetRoute = new CommandTargetRoute (initialTarget);
			object cmdTarget = GetFirstCommandTarget (targetRoute);

			visitor.Start ();

			try {
				while (cmdTarget != null)
				{
					if (visitor.Visit (cmdTarget))
						return cmdTarget;

					cmdTarget = GetNextCommandTarget (targetRoute, cmdTarget);
				}
			} catch (Exception ex) {
				LoggingService.LogError ("Error while visiting command targets", ex);
			} finally {
				visitor.End ();
			}
			return null;
		}