public object Parse(IDictionary <string, string> keyValuePairs, Type returnType) { StringMapTypeDeserializer stringMapTypeDeserializer; lock (typeStringMapSerializerMap) { if (!typeStringMapSerializerMap.TryGetValue(returnType, out stringMapTypeDeserializer)) { stringMapTypeDeserializer = new StringMapTypeDeserializer(returnType); typeStringMapSerializerMap.Add(returnType, stringMapTypeDeserializer); } } return(stringMapTypeDeserializer.CreateFromMap(keyValuePairs)); }
private StringMapTypeDeserializer GetOrAddStringMapTypeDeserializer(Type returnType) { StringMapTypeDeserializer stringMapTypeDeserializer; lock (typeStringMapSerializerMap) { if (!typeStringMapSerializerMap.TryGetValue(returnType, out stringMapTypeDeserializer)) { stringMapTypeDeserializer = new StringMapTypeDeserializer(returnType); typeStringMapSerializerMap.Add(returnType, stringMapTypeDeserializer); } } return(stringMapTypeDeserializer); }