public IDictionaryParameter Clone()
        {
            var dictionaryParameter = new DictionaryParameter <T>(Name, StrType);

            foreach (var basicValue in _values)
            {
                dictionaryParameter.Add(basicValue.Key, basicValue.Value);
            }

            return(dictionaryParameter);
        }
        /// <summary>
        /// 转换DictionaryParameter的值称为任意类型的Dictionary(string,T)参数
        /// </summary>
        /// <param name="source"></param>
        /// <param name="valueSelector"></param>
        /// <typeparam name="TSource"></typeparam>
        /// <typeparam name="TExpected"></typeparam>
        /// <returns></returns>
        /// <exception cref="ArgumentNullException"></exception>
        public static Dictionary <string, TExpected> ToDictionary <TSource, TExpected>(this DictionaryParameter <TSource> source,
                                                                                       Func <TSource, TExpected> valueSelector)
        {
            if (valueSelector == null)
            {
                throw new ArgumentNullException(nameof(valueSelector));
            }

            var allValue = source.GetAllValue();

            return(allValue.ToDictionary(keyValuePair => keyValuePair.Key,
                                         keyValuePair => valueSelector(keyValuePair.Value)));
        }