public class MyFormater:ICustomFormatter,IFormatProvider
{
public object GetFormat(Type format)
{
if (format == typeof(ICustomFormatter))
return this;
return null;
}
public string Format(string format, object arg, IFormatProvider provider)
{
if (format == null)
{
if (arg is IFormattable)
return ((IFormattable)arg).ToString(format, provider);
return arg.ToString();
}
else
{
if (format == "MyFormater")
{
return "**" + arg.ToString();
}
else
{
if (arg is IFormattable)
return ((IFormattable)arg).ToString(format, provider);
return arg.ToString();
}
}
}
}
static void Main(string[] args)
{
int i = 100;
string printString;
MyFormater myFormater = new MyFormater();
printString = string.Format(myFormater, "{0}", i);
Console.WriteLine("{0}", printString);
printString = string.Format(myFormater, "{0:C}", i);
Console.WriteLine("{0}", printString);
printString = string.Format(myFormater, "{0:MyFormater}", i);
Console.WriteLine("{0}", printString);
}
printString = string.Format(myFormater, "{0}", i);
printString = string.Format(myFormater, "{0:C}", i);
printString = string.Format(myFormater, "{0:MyFormater}", i);
public static string Format(IFormatProvider provider, string format, params object[] args)
{
if ((format == null) || (args == null))
{
throw new ArgumentNullException((format == null) ? "format" : "args");
}
StringBuilder sb = StringBuilderCache.Acquire(format.Length + (args.Length * 8));
sb.AppendFormat(provider, format, args);
return StringBuilderCache.GetStringAndRelease(sb);
}
if (provider != null)
{
formatter = (ICustomFormatter) provider.GetFormat(typeof(ICustomFormatter));
}
if (formatter != null)
{
if (builder != null)
{
str = builder.ToString();
}
str2 = formatter.Format(str, arg, provider);
}
机械节能产品生产企业官网模板...
大气智能家居家具装修装饰类企业通用网站模板...
礼品公司网站模板
宽屏简约大气婚纱摄影影楼模板...
蓝白WAP手机综合医院类整站源码(独立后台)...苏ICP备2024110244号-2 苏公网安备32050702011978号 增值电信业务经营许可证编号:苏B2-20251499 | Copyright 2018 - 2025 源码网商城 (www.ymwmall.com) 版权所有