public void Eval(TextWriter writer, TemplateFieldAccessor accessor) { _writer(writer, accessor); }
private static void DefaultWriter(TextWriter writer, TemplateFieldAccessor accessor) { }
public string Eval(TemplateFieldAccessor accessor) { StringWriter sw = new StringWriter(); _writer(sw, accessor); return sw.ToString(); }
private static object GetFieldValue(TemplateFieldAccessor root, CaptureCollection parts) { object value; TemplateFieldAccessor accessor = root; for (int i = 0; i < parts.Count - 1; i++) { Capture part = parts[i]; value = accessor(part.Value); // if the accessor didnt return an accessor then // wrap the value in an object accessor if (!(value is TemplateFieldAccessor)) value = TemplateFieldAccessors.PropertyAccessor(value); accessor = (TemplateFieldAccessor)value; } value = accessor(parts[parts.Count - 1].Value); return value; }