public string Render(object?obj, IExampleRendererHandler renderer, ImmutableList <object?> path) { var properties = obj !.GetType().GetProperties(); var propertiesToRender = properties.Take(_propertyLimit).ToList(); var hasMoreProperties = properties.Skip(_propertyLimit).Any(); var renderedProperties = Enumerable.Concat( propertiesToRender.Select(p => $"{p.Name} = {renderer.Render(p.GetValue(obj), renderer, path)}"), hasMoreProperties ? new[] { "..." } : Enumerable.Empty <string>()); return("{ " + string.Join(", ", renderedProperties) + " }"); }
public string Render(object?obj, IExampleRendererHandler renderer, ImmutableList <object?> path) { var elements = ((IEnumerable)obj !).Cast <object>(); var elementsToRender = elements.Take(_elementLimit).ToList(); var hasMoreElements = elements.Skip(_elementLimit).Any(); var renderedElements = Enumerable.Concat( elementsToRender.Select(x => renderer.Render(x, renderer, path)), hasMoreElements ? new[] { "..." } : Enumerable.Empty <string>()); return("[" + string.Join(", ", renderedElements) + "]"); }