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();
}
}
}