public class CustomFormat : IFormatProvider, ICustomFormatter
{
public string Format(string format, object arg, IFormatProvider formatProvider)
{
if (!this.Equals(formatProvider))
{
return null;
}
if (format == "Reverse")
{
return String.Join("", arg.ToString().Reverse());
}
return arg.ToString();
}
public object GetFormat(Type formatType)
{
return formatType==typeof(ICustomFormatter) ? this:null;
}
}
Usage:
String.Format(new CustomFormat(), "-> {0:Reverse} <-", "Hello World");
Output:
-> dlroW olleH <-