定义
1.接口IFormattable:如果需要将自己的格式化包含在某个类上,在该类上实现IFormattable接口中的ToString。例如int32继承了此接口:
public struct Int32 : ... , IFormattable, ...{...}
2、接口ICustomFormatter:如果希望自定义格式化并使它可供多个不同类使用,那么实现ICustomFormatter接口的Format函数。例如:自定义格式化MyBaseFormat,继承接口ICustomFormatter和IFormatProvider
public class MyBaseFormat : ICustomFormatter , IFormatProvider
{
//当遇到IFormatProvider时执行此函数,获取格式类型
public object GetFormat(Type format){...}
//主函数中调用 string.Format(myBaseFormat, "显示正常格式:{0:C}", i); 时先遇到第一个参数IFormatProvider myBaseFormat,执行上面的GetFormat函数,然后执行此函数
//主函数第一个参数为myBaseFormat,传递到此函数的第三个参数provider;第三个为传递的参数列表,传递到此函数的arg,多个参数中间用“,”隔开;
//第二个参数中{}中的0表示第一个参数,如果选择第二个参数则为1,“:”后面为参数的格式,传递到此函数的第一个参数format,如果写成{0}则format收到的为null
public string Format(string format, object arg, IFormatProvid