/// <summary>
        /// 注册数据类型转换器
        /// </summary>
        /// <param name="sourceType"></param>
        /// <param name="destType"></param>
        /// <param name="converter"></param>
        public static void RegisterConverter(Type sourceType, Type destType, DataTypeConverterBase converter)
        {
            lock (_Converters)
            {
                DataTypeConverterPair pair = new DataTypeConverterPair();

                pair.SourceType      = sourceType;
                pair.DestinationType = destType;

                if (_Converters.ContainsKey(pair) == false)
                {
                    _Converters[pair] = converter;
                }
            }
        }
        /// <summary>
        /// 根据类型得到转换器
        /// </summary>
        /// <param name="sourceType"></param>
        /// <param name="destType"></param>
        /// <returns></returns>
        public static DataTypeConverterBase GetConverter(Type sourceType, Type destType)
        {
            sourceType.NullCheck("sourceType");
            destType.NullCheck("destType");

            lock (_Converters)
            {
                DataTypeConverterPair pair = new DataTypeConverterPair();

                pair.SourceType      = sourceType;
                pair.DestinationType = destType;

                DataTypeConverterBase converter = null;

                _Converters.TryGetValue(pair, out converter).FalseThrow <KeyNotFoundException>(
                    "不能找到从类型{0}转换到类型{1}的转换器", sourceType, destType);

                return(converter);
            }
        }