CSharpUtils.Templates.Runtime.TemplateCode.Foreach C# (CSharp) Метод

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

protected Foreach ( TemplateContext Context, String VarName, dynamic Expression, EmptyDelegate Iteration, EmptyDelegate Else = null ) : void
Context TemplateContext
VarName String
Expression dynamic
Iteration EmptyDelegate
Else EmptyDelegate
Результат void
		protected void Foreach(TemplateContext Context, String VarName, dynamic Expression, EmptyDelegate Iteration, EmptyDelegate Else = null)
		{
			int Index = 0;
			foreach (var Item in DynamicUtils.ConvertToIEnumerable(Expression))
			{
				Context.SetVar("loop", new Dictionary<String, dynamic> {
					{ "index", Index + 1 },
					{ "index0", Index },
				});
				Context.SetVar(VarName, Item);
				Iteration();
				Index++;
			}

			if (Index == 0)
			{
				if (Else != null) Else();
			}
		}
	}