提供定制格式化器

/*
 * 由SharpDevelop创建。
 * 用户: Changweihua
 * 日期: 2013/7/8
 * 时间: 7:29
 *
 * changweihua@outlook.com
 * http://www.cmono.net
 *
 */
using System;
using System.Text;
using System.Threading;
/// <summary>
/// 格式化定制器
/// </summary>
namespace FormatController
{
    class Program
    {
        public static void Main(string[] args)
        {
            StringBuilder sb = new StringBuilder();
            sb.AppendFormat(new BoldInt32s(), "{0} {1} {2:M}", "常伟华", 23, DateTime.Now);
            Console.WriteLine(sb);
                     
            Console.ReadKey(true);
        }
    }
             
    internal sealed class BoldInt32s : IFormatProvider, ICustomFormatter
    {
        public object GetFormat(Type formatType)
        {
            if(formatType == typeof(ICustomFormatter))
            {
                return this;
            }
                     
            return Thread.CurrentThread.CurrentCulture.GetFormat(formatType);
        }
                 
        public string Format(string format, object arg, IFormatProvider formatProvider)
        {
            string s;
                     
            IFormattable formattable = arg as IFormattable;
                     
            if(formattable == null)
            {
                s = arg.ToString();
            }
            else
            {
                s = formattable.ToString(format, formatProvider);
            }
                     
            if(arg.GetType() == typeof(Int32))
            {
                return "<b>" + s + "</b>";
            }
                     
            return s;
                     
        }
                 
    }
             
}

点击查看原图

知识共享许可协议
《提供定制格式化器》常伟华 创作。
采用 知识共享 署名-相同方式共享 3.0 中国大陆 许可协议进行许可。
  • 多说评论
  • 签名
  • 新浪微博
  • 默认评论
  • Tab Header 5

0 条评论 / 点击此处发表评论

Tab Content 5

开发技术


开发平台和工具

sitemap     160.84ms