CSharpUtils.Templates.TemplateHandler._HandleLevel_Op C# (CSharp) Метод

_HandleLevel_Op() защищенный Метод

protected _HandleLevel_Op ( Func HandleLevelNext, string Operators, Func HandleOperator ) : ParserNode
HandleLevelNext Func
Operators string
HandleOperator Func
Результат ParserNode
		protected ParserNode _HandleLevel_Op(Func<ParserNode> HandleLevelNext, string[] Operators, Func<ParserNode, ParserNode, String, ParserNode> HandleOperator)
		{
			ParserNode ParserNode = HandleLevelNext();

			while (Tokens.HasMore)
			{
				switch (CurrentTokenType)
				{
					case "OperatorTemplateToken":
						string Operator = CurrentToken.Text;
						bool Found = false;
						foreach (var CurrentOperator in Operators)
						{
							if (Operator == CurrentOperator)
							{
								Tokens.MoveNext();
								ParserNode RightNode = HandleLevelNext();
								ParserNode = HandleOperator(ParserNode, RightNode, Operator);
								Found = true;
								break;
							}
						}
						if (!Found)
						{
							return ParserNode;
						}
						break;
					default:
						return ParserNode;
				}
			}

			return ParserNode;
		}