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))); }