private static string MachiningForFormat(string format, IList <FormatEvent> formatEvents) { foreach (var @event in FormatCommandFactory.CreateCommandEvent(format)) { formatEvents.Add(@event); } return(format); }
private static string MachiningForFormat(string format, IList <FormatEvent> targetFormatEvents, string rendererName) { foreach (var @event in FormatCommandFactory.CreateCommandEvent(rendererName, format)) { targetFormatEvents.Add(@event); } //NOTE: //If this token is a PreferencesRender type, the name of token is same as the name of renderer. //So, here, i used 'rendererName' given by 'Name', which means the name of such token. return(format); }
internal static void Render(object value, TextWriter output, string format = null, IFormatProvider formatProvider = null) { if (output is null) { throw new ArgumentNullException(nameof(output)); } IEnumerable <FormatEvent> __f(string ____f) => FormatCommandFactory.CreateCommandEvent(null, ____f); if (value is null) { output.Write(__f(format).ToFormat("null", formatProvider)); return; } if (value is string s) { output.Write(__f(format).ToFormat(s, formatProvider)); return; } if (formatProvider != null) { var custom = (ICustomFormatter)formatProvider.GetFormat(typeof(ICustomFormatter)); if (custom != null) { output.Write(__f(format).ToFormat(custom.Format(format, value, formatProvider), formatProvider)); return; } } if (value is IFormattable f) { output.Write(__f(format).ToFormat(f.ToString(format, formatProvider ?? CultureInfo.InvariantCulture), formatProvider)); return; } output.Write(value.ToString()); }